implement inmemory & ado.net repositories