Started implementing a generic graph