add block.go for saving, loading, and manipulating block