ported to our framework
50% looked ugly if width and height were different