Moved in the direction of *nixness, rewrote everything