canvas instead of rects
top default margin to 0 to avoid rescaling