Refactored

restructure