prevent postfix syntax warning
added compiler options for more robust warnings
used more robust matchers
made dictionary return value more accurate