add min heap and circular queue