server-side base implementation