Implement turrets and refactor some stuff