public static Integer newFibonacci(int x) {
        return memo.computeIfAbsent(x, n -> newFibonacci(n-1) + fibonacci(n-2));
        // it works if only one parameter is present for the function
        // what about more parameters?
        //Short answer: nothing. There are no such things in this world as functions with several arguments. 
        //Functions are applications of one set (the source set) to another set (the target set). So, they simply can't have several arguments.
        //But this does not solve our problem. What is the functional equivalent to a method with several arguments?
    }