added function prototype