adding networking functions