john pan