Minor changes, renamed some classes, clarified a few methods.