moved factory classes to Factory namespace