model Task add a construct function