modularized client update/request