more commenting + cleaner code
fix naming bugs