function type declaration