metric funcions can now take options
so i don't have to have 8 different badness functions that do the same
in large parts