implemented notifyListeners and dependencies