diff --git a/reactos/baseaddress.rbuild b/reactos/baseaddress.rbuild
index 81666098901..b775e453572 100644
--- a/reactos/baseaddress.rbuild
+++ b/reactos/baseaddress.rbuild
@@ -192,6 +192,7 @@
+
diff --git a/reactos/boot/bootdata/packages/reactos.dff b/reactos/boot/bootdata/packages/reactos.dff
index f63048d4bea..6291bd4524f 100644
--- a/reactos/boot/bootdata/packages/reactos.dff
+++ b/reactos/boot/bootdata/packages/reactos.dff
@@ -124,6 +124,7 @@ dll\cpl\mmsys\mmsys.cpl 1
dll\cpl\ncpa\ncpa.cpl 1
dll\cpl\powercfg\powercfg.cpl 1
dll\cpl\sysdm\sysdm.cpl 1
+;dll\cpl\telephon\telephon.cpl 1
dll\cpl\timedate\timedate.cpl 1
dll\cpl\input\input.dll 1
dll\cpl\joy\joy.cpl 1
@@ -230,6 +231,7 @@ dll\ntdll\ntdll.dll 1
dll\win32\acledit\acledit.dll 1
dll\win32\aclui\aclui.dll 1
+dll\win32\activeds\activeds.dll 1
dll\win32\advapi32\advapi32.dll 1
dll\win32\advpack\advpack.dll 1
dll\win32\atl\atl.dll 1
diff --git a/reactos/dll/win32/activeds/activeds.rbuild b/reactos/dll/win32/activeds/activeds.rbuild
new file mode 100644
index 00000000000..c35eba65d33
--- /dev/null
+++ b/reactos/dll/win32/activeds/activeds.rbuild
@@ -0,0 +1,11 @@
+
+
+
+ .
+ include/reactos/wine
+
+ kernel32
+ wine
+ activeds_main.c
+
+
diff --git a/reactos/dll/win32/activeds/activeds.spec b/reactos/dll/win32/activeds/activeds.spec
new file mode 100644
index 00000000000..63625d5d022
--- /dev/null
+++ b/reactos/dll/win32/activeds/activeds.spec
@@ -0,0 +1,28 @@
+3 stdcall ADsGetObject(wstr ptr ptr)
+4 stdcall ADsBuildEnumerator(ptr ptr)
+5 stub ADsFreeEnumerator
+6 stdcall ADsEnumerateNext(ptr long ptr ptr)
+7 stub ADsBuildVarArrayStr
+8 stub ADsBuildVarArrayInt
+9 stdcall ADsOpenObject(wstr wstr wstr long ptr ptr)
+12 stub ADsSetLastError
+13 stub ADsGetLastError
+14 stub AllocADsMem
+15 stdcall FreeADsMem(ptr)
+16 stub ReallocADsMem
+17 stub AllocADsStr
+18 stub FreeADsStr
+19 stub ReallocADsStr
+20 stub ADsEncodeBinaryData
+21 stub PropVariantToAdsType
+22 stub AdsTypeToPropVariant
+23 stub AdsFreeAdsValues
+24 stub ADsDecodeBinaryData
+25 stub AdsTypeToPropVariant2
+26 stub PropVariantToAdsType2
+27 stub ConvertSecDescriptorToVariant
+28 stub ConvertSecurityDescriptorToSecDes
+#@ stub DllCanUnloadNow
+#@ stub DllGetClassObject
+#@ stub DllRegisterServer
+#@ stub DllUnregisterServer
diff --git a/reactos/dll/win32/activeds/activeds_main.c b/reactos/dll/win32/activeds/activeds_main.c
new file mode 100644
index 00000000000..9c03ac16d68
--- /dev/null
+++ b/reactos/dll/win32/activeds/activeds_main.c
@@ -0,0 +1,104 @@
+/*
+ * Implementation of the Active Directory Service Interface
+ *
+ * Copyright 2005 Detlef Riekenberg
+ *
+ * This file contains only stubs to get the printui.dll up and running
+ * activeds.dll is much much more than this
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include
+
+#define COBJMACROS
+#define NONAMELESSUNION
+
+#include "windef.h"
+#include "winbase.h"
+#include "winuser.h"
+
+#include "objbase.h"
+#include "iads.h"
+#include "adshlp.h"
+
+#include "wine/unicode.h"
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(activeds);
+
+/*****************************************************
+ * DllMain
+ */
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+ TRACE("(%p, %d, %p)\n",hinstDLL, fdwReason, lpvReserved);
+
+ switch(fdwReason)
+ {
+ case DLL_WINE_PREATTACH:
+ return FALSE; /* prefer native version */
+ case DLL_PROCESS_ATTACH:
+ DisableThreadLibraryCalls( hinstDLL );
+ break;
+ }
+ return TRUE;
+}
+
+/*****************************************************
+ * ADsGetObject [ACTIVEDS.3]
+ */
+HRESULT WINAPI ADsGetObject(LPCWSTR lpszPathName, REFIID riid, VOID** ppObject)
+{
+ FIXME("(%s)->(%s,%p)!stub\n",debugstr_w(lpszPathName), debugstr_guid(riid), ppObject);
+ return E_NOTIMPL;
+}
+
+/*****************************************************
+ * ADsBuildEnumerator [ACTIVEDS.4]
+ */
+HRESULT WINAPI ADsBuildEnumerator(IADsContainer * pADsContainer, IEnumVARIANT** ppEnumVariant)
+{
+ FIXME("(%p)->(%p)!stub\n",pADsContainer, ppEnumVariant);
+ return E_NOTIMPL;
+}
+
+/*****************************************************
+ * ADsEnumerateNext [ACTIVEDS.6]
+ */
+HRESULT WINAPI ADsEnumerateNext(IEnumVARIANT* pEnumVariant, ULONG cElements, VARIANT* pvar, ULONG * pcElementsFetched)
+{
+ FIXME("(%p)->(%u, %p, %p)!stub\n",pEnumVariant, cElements, pvar, pcElementsFetched);
+ return E_NOTIMPL;
+}
+
+/*****************************************************
+ * ADsOpenObject [ACTIVEDS.9]
+ */
+HRESULT WINAPI ADsOpenObject(LPCWSTR lpszPathName, LPCWSTR lpszUserName, LPCWSTR lpszPassword, DWORD dwReserved, REFIID riid, VOID** ppObject)
+{
+ FIXME("(%s,%s,%u,%p,%p)!stub\n", debugstr_w(lpszPathName),
+ debugstr_w(lpszUserName), dwReserved, debugstr_guid(riid), ppObject);
+ return E_NOTIMPL;
+}
+
+/*****************************************************
+ * FreeADsMem [ACTIVEDS.15]
+ */
+BOOL WINAPI FreeADsMem(LPVOID pMem)
+{
+ FIXME("(%p)!stub\n",pMem);
+ return FALSE;
+}
diff --git a/reactos/dll/win32/win32.rbuild b/reactos/dll/win32/win32.rbuild
index 18d5889f817..5a0f3c4a995 100644
--- a/reactos/dll/win32/win32.rbuild
+++ b/reactos/dll/win32/win32.rbuild
@@ -7,6 +7,9 @@
+
+
+