implementations of the repository pattern atop different persistence frameworks