major overhaul of block internals