Refactor Code

- create classes
- move files to classes
- add comments