Added more classes and basic plumbing