splitting classes in different files

much cleaner for development