use scope watch instead of