fix the bugs -- always mistake width for width and confuse them between x/y coordinate