I have another question about APIs. By looking at some source codes and navigating through MSDN and other sites, I couldn't understand why should we use Aliases to other APIs, I mean why we didn't use the original API without passing through an Alias especially when we speak about the Heap's ones or the NTDLL's, there is no harm in that at all, plus it will look & feel better & neat, Or may be it will resolve some problems caused in other Apps installations? is it possible? Right now I'm trying to re-write some code and I know it may look just a waste of time but who knows I believe it worth to be tried even if it won't change anything, it won't mess it up.