Codigo completo