So i'm 80% confident that client side correction is working. Need to test on a real network. TODO: Efficiency, branching, spaghetti code