Initial Commit(Incomplete)

Initial Commit with the refactored classes
Refactoring

Refactoring method names, scope, etc