Updated factory methods