added valid_range property