add communication & solve some bugs