Playing with Lamdas, streams, Optionals, futures