proper communication, some bugs