more generic network layer