add shell support