Make code ready for SIG evaluation

TODO:
* Check if all classes contain JavaDoc/python doc
* Split long or complex methods into multiple methods
* Check for unused variables etc.
* Format all code with the same formatter
* Create .zip without external code