modularized packet and timer code. TODO: send/receive strings instead of entire structs