add heatmap plotting function