Initial implementation of Heap