Add support for different shells