More Refactoring:
Renamed and reorganized slightly