begun implmentation of communication, still very buggy