Añadida interfaz y parte de logica