blocks and assignments