initial code, +range is left there