Rewrote the entire client from scratch