complete the code, but there are some terrible errors -.-