added function is_interactive_shell