This doesn't handle complex-valued cases?