ver 2.0
made everything non static...
rearranged code and cleaned up a bit with minor tweaks
using reflections to resolve string to appropriate method names