type declaration