Start of user agent parser