add proxy type determine function