add range func