added basic heap structure