WIP!  multi-cycle parsing (needs refactoring)