Initial revision with a few new classes