fix the generators, tidy some things up, make block extension better