Types and methods