allow client-specified variation