finished networking, rough implementation