use weak reference to self in blocks