feat: add Adaptive input methods