more comprehensive subscriber model