added some type initialization