added shell wrapper