moved networkmessage to its own package