Optimization, refactoring, documentation

Added Documentation to some functions.
Split the Code in multiple files.
Added pause as a possible note.

The Header will now have dynamic size values.