input component has a bug but it is semi implemented