still a little buggy, server mode is faster here but is sometimes slower at work and sometimes doesn't quit
use binary serilization to talk to server