implemented abstract members of Type