use linear fixed size arrays rather than khash, and use plain sockets than gio crap