Course additions

expanded and added classes/enums to match the current database model