trait for scalar companion objects