had to reposition unsubscribe task for other functions
catch had to be outside let and in the other case had to use try+