started rough heap implementation