Falta añadir algunas definiciones, pero lo escrito compila