Even the biggest companies that make corporate software have failed to do this???even after having endless resources over decades and decades to try. [There are some that claim to do all three, but if you dig under the surface, you will see it is mostly marketing hype or subject to point 2) below.]