Refactoring
Code Polished, Finally Fix #2