main blocking and structure