add range fn