implementing new idea of block calculation