Added some thoughts and removed SysOuts in DistributeMessage