It works, minus encodings. To be done.
More parsing and prepare to implement encoding