input differentiation