tweaked parser; steps is currently the only variable
fixed merge conflicts