added toFormalString; refactored constructor on range and recurring