optimizations

Replaced all Lists with arrays, optimized some loops, consolidated a
couple files, and replaced many ugly public fields with properties