create RepositoryFactory