adjust to the non-static factory methods