made Edge.Weight not a pointer, Connect* returns error if couldn't connect, not edge
updated to not use Weight as a pointer