Hard refactor. Can now build towers