Replaced unimplemented! errors with Result errors
Moved streaming parser to a seperate module