don't need to force `width`, as it checks it below. Maybe also check `height`'s > 0, seems a bit arbitrary to change the dimensions to defend agains a zero-divide