ch12 heap