timerheap implementation