Wroking version of a parser /n Needs cleaning up of code