added generic guarded dao access