Renamed files to reflect code.
Seperated general into seperate class files.
Merge branch 'dev'