add subscribe | unsubscribe functionality to view layer