finally fix token joining to work correctly, now just needs better endgame detection