implemented block structures