solo falta implementar un par de metodos