Custom Input directive