command protocol updated (not tested)
command parser/function caller moved to one class