use doubles for scalars