continued implementing heap