implement output parameter