Version completa (Añadido validacion. prestar y devolver)