added extractByKey and decreaseKey methods