add auto func __