generic threads & proxy