actually (hopefully) using a dot product