block breaking & generation