all you need to know about heap