use compile function to instead command string. and give a helper class let user easy to write new compiler