re-refactoring
fix complation error
fixed typo