type adapter