Adding unit of work and specification pattern