Add manual join support