added RectangleUtil