follow build pattern from VS Client