modify `bind` to support params length