new types and methods