split classes into separate files
Separated classes, updated script