finished designing input methods