add unsubscribe and fix warnings
hs lint