Add support for custom shell