making the third arg of block init explicit (not optional)
move the code insertion functionality up to function. makes more sense. block still carries code though
still recoving from previous block - function change. no more exceptions at least