reworking Transitions and introducing Barrier concept