separated simple and complex metric generation