communication stuff added