skeleton of the input format is almost done. Current implementation compiles without errors, not tested (surely not working)