added infinite full block wait method