Block history addition, refactoring