handled unsubscribe and subscribe without duplicate subscriptions
improving and simplifying