David Cotton's profile