updated external command system, fixed state issues
finished testing command api