changes to command registration to make it structured and less useless