added range generation.