normalize first, then subtract offset