Continuing refactor. Moving mountains x_x