all new code done, going to start refactoring