removed unnecessary     [self setNeedsDisplay];
calls