Core classes  implementation + PetriNetworks class