@Override
    public Function get(final String name) throws FunctionNotDefinedException {
        final Function tempFunction = functions.get(name);
        if (tempFunction != null) {
            return tempFunction;
        }
        final Function builtin = builtinFunctions.get(name);
        if (builtin != null) {
            return builtin;
        }

        throw new FunctionNotDefinedException(name);

    }