add user agent detect