this should be memoized or made into a constant so that it is not compiled multiple times.