remove weak reference for delegate, it doesn't work on devices without ARC