Break up block_template.c (WIP)