reduce the complexity of binding object and only verify params once