优化并修复bug，并结构化