safer row_hash