updated Shell component with Wait interface