commented client generation