attempt to abstract data access code to a separate class, no breakage