modify HeapConstrutor