decoupled each metric and created a function to handle all
Merge branches 'master' and 'datamodel'
updated a couple minor bugs