modified boundingRect()