update protocol, improve stability, etc