server-side DOM implementation