some missing turret functions, caching turrets for better performance