Convert over to fully heap based