Improved speed

Removed most List<T> and replaced with T[] arrays
Reduced access to arrays where same item in the same array is used