implementation of the classes:
 - constraints
 - graph
 - machine
 - exceptions (various)