Rewrote client in coffeescript.