reduced the funkiness of firstness
made changes to formalism and parsing required for optional and grouped steps
grouping and alternation now working