restructuring in preparation of merging with mesos
don't relist commands if they're on the path more than once