added shell compatibility