add range parsing