some more things to prepare for model serelizable