added some type classes