add var self to fix binding