began refactoring everything