trigger fill function when filling and make sure an object is always
bound on the input