refactor,codecleanup