refactored plan/sub methods in user model