implement output