Reorganized, updated and added a few classes.