add range generator