implement entity factories and repository providers