Lots of classes added and other modifications