added optional transitions to ptr