properly support the type methods