function should not exit the shell