add range support