cleanup; functions is now a map[string]function to speed up the process of choosing the correct function for an operator