move scope.$watch into init()