tried to refactor powerups