work on multiblock, may have to rewrite.