Arreglando el spaghetti de ifs