adding transtion functions moved to cc file in order to make experiments with vata easier
moving slowly implementation to cc files due to compilation time