added additional tables to models, and fiddled with some classmethods