change some functions to protected