refactored to a match table for all expressions
added class to calculate expressions
clearer output from the tester