no more self, bind instead