Main classes added for parts 3 and 4.