added a heatmap function, still needs to be tested