heap workinge