resolves issue #7 (use Rectangle2D for bounds)