nit: prefer bind to self