add dependency: heap