added missing factory methods