Started on repository abstractions