working on input components