more refactoring, took out unnecessary requires