added optional transition