more explicit type declaration