input methods