Refactor file organization

* Separate classes into different files
* Some spelling mistakes