complete the functions at the first time