range support code refactoring - now support multiple bindings