started working on AbstractBlockChain