add support for reversible transitions