domain repository 구현 분리