uses maps for verbs instead of switch/case. simplified methods.