simplify subscribe and unsubscribe API