Organisational

Split the classes and function between several files.