updated subscription model