command processor