passing and returning fucntions