models and namespacing
BaseRepository
fleshing out structure