More objects, functionality, and refactoring