todo: clarify that all commands take a single arg