a whole bunch of changes. can't really say what happened. but apparently it works.
need to implement the protocol and add the recognition!