Refactor everything

Awwyeaah