CNN lists Buffalo as second best place to visit for Fourth of July