add more initialization methods