added declarator prototype