last commit before converting into a class (so that multiple networked instances can be tested)
initial conversion into class (not tested)