I committed this time. Refactored shit