=operator ported manually