More Refactoring
For #127