better BlockData save