:boom: major refactoring