totally finished communication and added some documentation in code