refactor to use lazy action sequences - 2