refactoring network shit. still a stupid notserializableerror is preventing this from working