implement awhich command