add get_shell function