generate construtors for vlaue objects attributes