refactored
cleaned up, refactored