shifted cell factory to separat class