whew, huge refactor of metrics to make DSMs more flexible