implementado todo