refactor lol