aqui ja ta o codigo do master organizado com funcoes de logica nao totalmente funcionais nem testadas
lets see if this is ok