prepare to implement block generation code