Making a graph struct

Needs to be hashable to work with current implementation