now using factored block creation method, and fixed a bug
less hardcoding of block helper names
extracted and generalized block-descriptor writing