a more sane implementation using commander