clean up factory methods, all consistent now