deberia haber arrancado haciendo unittests de esto... ya es un quilombo