MAJOR REFACTOR :rocket: