added new output mechanism