changed weak binding to block