Restructured Application

- Common functionality will be shared via factories
- Implemented modular design
- Removed "BAD PARTS"
- Clean and Refactored the code