reworked blocks model