change func structure