in my oppinion its enough refactored, can do more but screw it, its enough