refactoring nytimesbestsellers