Block constructor rationale