add heap struct