repository draft, no active record pattern :)