added restriction multiple declaration of functions