change some struct to interface