Add heap_sort method. Clean up. Decompose