Major Improvements

Still needs to be tweaked.