add block.hpp
block tested