Actually, there is. But since it's empty, I diddn't include it in the pasting.. That function isn't used by all dll's, most of them have custom exported procedures. ExecuteDLL is a static proc, along with some ohter ones (freeing, init etc). But most of the plugins, (read; all) uses custom exported functions which can be anything. The custom procedures in libraries are working, stuff gets executed when it's intended, but somehow, the problems descibed earlier emerge. We've done some tests which shows that everything is rendered in the right order (going from layer 0 and up), but somehow, it seems like a plugin is on a different process than the main executable and hence, rendering gets a bit wierd. For instance, even though a procedure in the dll gets executed, the thing the procedure is drawing might not pop up on screen before the second rendering tick is complete.