spaces arent really fixable...
handle multiple results and subs in optional clauses parse betterly