use CGFloat, dont set lower bound rightX and bottomY at 0