made all models have long ids and created generic crud repository