starting to refactor metrics for required stuffs