added classes to represent graphnode
added accompanying test