more model abastraction