separado en clases y preparado para modo multiusuario