added client detection