more work on command and controller framework