Implementação completa do repositorio