refactored code. broke up files with multiple classes into separate files