allow multiple types of graphs