pull block code to Block.cpp
forgot files