Escaping The Tar Pit

Refactoring