created initial classes for Factor graph representation, variable nodes, function nodes and edges