rewriter and parser seem to work well
almost finished all helper tasks