Matchmaking refactor, update, bugfix and testing