refactored everythinggg plus the kitchen sink