feat(repository): refactor