formatting, need to start refactoring