refactoring lol