accept blocks in arbitrary order