earn your right to be an American citizen.
Any immigrant 18-40 years of age looking to become an American citizen should serve in the military for a short period of maybe 2 years or 4.
Not necessarily infantry or other combat, but for military career training so once that person leaves, he or she will be trained for an in demand American career.
After training, the trainee and his immediate family should be granted citizenship.
America should not however, pay this soldier the same amount that a citizen soldier would receive. Why? Taxes are taken to support housing for those who cannot serve but still want to become a citizen. They should apply for citizenship and when they get it, they will be offered public housing, if they do not have a citizen relative or friend to stay with.