refactor to use lazy action sequences - 3