finalizado modulo States. falta comentar e documentar adequadamente (algumas estruturas mudaram)