clang complains about using incomplete type
bring back the bayeux chat example