PLEASE implement serializable on any of your classes that will be sent over network!
I forgot that, to use ObjectStreams, any object sent must be serializable so java can guarantee the state of the object. 
Steps:
1. change your class name to <classname> "implements Serializable" 
2. put a private static final long variable named serialVersionUID. Netbeans should do this for you (shows as a warning), but if not, now you know. This is needed since the default value is dependant on variables that could vary machine to machine
3. Profit