better region handling