clean up factory methods, all consistent now
clean up factory methods, all consistent now