client-side classification