add block generator and controller