some modularization and sending mroe stuff over the network