started splitting surf + matching into a separate class