range should be optional