added new factory methods with QNames