used 3-way bind as a workaround for scope updating