add auto bind function