update subscription using promises