refactor factories
remove unnecessary association