Zachary Schillaci
Refactoring, fix some bugs
1a780aa