slightly changed complex multiplication impl.