refactoring. awwwwww yeah