implement email subscription data layer