added range and valueRange functionality