client should be fully functional, message handler still needs work