Initial heap implementation