defining main classes