finish some functions in project step3