rw is needed to handle networking stuff