add basic minheap (TODO)