removed Factory class