Cleaned up, Added Comments

Explained all the variables, changed some of the names, removed most
"magic" numbers, added