do not define function for only once calling