renamed factory methods