origin and offset now take scale into account