Require relative

I pulled the classes into their own files and fixed a few minor issues.

A few style suggestions.

1. Replace tabs with two whitespaces.
2. Enable highlighting trailing whitespaces in your editor so you can delete them.
3. Indentation - compare my code to yours to see how I indent.
4. File names should be in lowercase.