First passing Repository spec

Need to work out how to manage attribute/column defaults