Added generic repository, and also implementation for contractor.