adding input behavior