ranges and lengths