added largestRectangle and others