Almost working, needs better 1 step parser