metrics refactory(yes the build will fail for now)