(refactor) separate factories