add client-side