added a lot of communication stuff