Further refinement to input module