change some class to struct