fragment a bit the code and initial client-side support for major update