don't need doCommand()