we need hash before unpacking