add socket rpc and gui message support