Añadiendo todo el codigo con las restricciones