Functor category Let $\mathcal{C}$ and $\mathcal{D}$ be categories, where $\mathcal{C}$ is an abelian category. We want to say that $\mathcal{C}^\mathcal{D}$ is also an abelian category. However, if $\mathcal{C}$ and $\mathcal{D}$ is big enough, $\hom(F, G)$ in $\mathcal{C}^\mathcal{D}$ is too big to be a set, and hence, we cannot really say it has the structure of an abelian category (at least, in the usual sense).
So, my question is: what are the ways to fix it? I am aware of the option of using universes, but is there any other way(s)?
 A: One can use "big abelian categories". A "big abelian group" is a class that satisfies the same properties as an ordinary abelian group except that the underlying class doesn't need to be a set. Then a big abelian category is a category with the same properties as an ordinary abelian category except that the hom's aren't abelian groups but big abelian groups (see: Mitchell: "Theory of Categories", VII.1, page 164). 
The usual proof that $C^D$ is abelian if $C$ is abelian and $D$ is small carries over without difficulties to show that $C^D$ is (big) abelian if $C$ is abelian and $D$ is any category. 
A: A way for keep the Hom as set, is request for the category $\mathcal{D}$ to have   a set of objects $\mathcal{G}$ such that for any object $X$ of  $\mathcal{C}$ there exist a section  from $s:X\to G$ (i.e exists  $r: G\to X$ with $r\circ s=1$)  for some  some $G\in\mathcal{G}$.
Then any trasformation is uniquely determunated by its restriction to $\mathcal{G}$.
In another way $\mathcal{G}$ is simply a generator and we admit only $Epi$-preserving functors.   
