completed base type classes