redesigned input component