bind arg checking refactor