added primitive root