diff --git a/Demo/MailAdm-Doku.Tests.ps1 b/Demo/MailAdm-Doku.Tests.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..143b0e37261d2cc7b5409124dc22ecce96932a43
--- /dev/null
+++ b/Demo/MailAdm-Doku.Tests.ps1
@@ -0,0 +1,287 @@
+# initializing
+# connection settings
+$user ="<MailAdm Serviceaccount>"
+$password="<password>"
+$uri="https://ws.rwth-ad.de/ex-cache-ws/APIv04.asmx?wsDL"
+
+
+# import functions
+. .\connect.ps1
+. .\listquota.ps1
+. .\mailaccounts.ps1
+. .\distributionlist.ps1
+
+# set variables
+$Primarydomain = "mustereinrichtung.rwth-aachen.de"
+$SecondaryDomain = ""
+$existingPersonalMailaccount = "paetzold@mustereinrichtung.rwth-aachen.de"
+$existingfunctionalMailbox = "rudirentier@mustereinrichtung.rwth-aachen.de"
+$externalmailaddress = "hugo@mueller.de"
+$localpartpersonalmailmox = "hugodertierpfleger"
+$distributionlist="zoo@mustereinrichtung.rwth-aachen.de"
+$newdistributionmailaddress="alletiere2@mustereinrichtung.rwth-aachen.de"
+$newmailaddress="zebra@mustereinrichtung.rwth-aachen.de"
+
+Describe "MailAdm-Doku" {
+    It "Connection: Establish a connection with Webservice" {
+        $global:ws = new-mailadmconnection -user $user -password $password -uri $uri
+        $url=$uri.replace("?wsDL","")
+        $global:ws.Url | Should -Be $url
+    }
+
+    IT "get Domains for Serviceaccount: min. one Domain is configured for serviceaccount" {
+        $domains = Get-Domains -webserviceconnection $global:ws
+        $domains.count | should -BeGreaterOrEqual 1
+    }
+
+    It "get quotapools: min. one configured quotapool and quotapool should be greater then 1MB" {
+        $quotapools = get-quotapool -Domain $Primarydomain -WebserviceConnection $global:ws
+        $quotapools.count | should -BeGreaterOrEqual 1
+        foreach ($quotapool in $quotapools) {
+            $quotapool.TotalQuotaInMB | should -BeGreaterThan 1
+        }
+    }
+
+    It "get-mailaccounts: check for mailaccounts in primary or secondary domain" {
+        $mailaccounts = get-mailaccounts -WebserviceConnection $global:ws
+        $mailaccounts.count | should -BeGreaterOrEqual 0
+    }
+
+    It "Remove-Mailboxinvitation: dummy test in order to remove all invitations to get a defined infrastructure" {
+        $result = remove-allmailboxinvitation -webserviceconnection $global:ws
+        # check if alll invitations could be deleted
+        $invitations = get-mailboxinvitations -webserviceconnection $global:ws
+        $invitations.count | should -Be 0
+
+    }
+
+    It "Add-Mailboxinvitation: personal mailbox" {
+        $surname = "der Tierpfleger"
+        $givenname = "Hugo"
+        $primaryMailaddress = "$localpartpersonalmailmox@$Primarydomain"
+        $MailaddressAliasList = @()
+        $quota=10
+        # Mailboxtype:
+        # 0 : personal mailbox
+        # 1 : functional mailbox
+        # 2 : room mailbox
+        # 3 : equipment mailbox
+        $Mailboxtype = 0
+        $Owner= ""
+        $DeliverMailboxAndForward=$false
+        $ForwardingEmailaddress=""
+        # get possible quotapool (first in List)
+        $quotapool= get-quotapool -Domain mustereinrichtung.rwth-aachen.de -WebServiceConnection $global:ws                                                           
+        [int32]$quotapoolid= $quotapool[0].id
+
+        $invitation = add-mailboxinvitation -webserviceconnection $global:ws -quotaPoolID $quotapoolid -primaryEMailAddress $primaryMailaddress -givenname $givenname -Surname $surname -QuotaInMB $quota -Aliasaddresses $MailaddressAliasList -Mailboxtype $Mailboxtype -DeliverToMailBoxAndforward $DeliverMailboxAndForward -ForwardingEmailaddress $ForwardingEmailaddress -Owner $Owner
+        $invitation.returncode | should -Be 0
+    }
+
+    It "Add-Mailboxinvitation: functional mailbox" {
+        $surname = "Zooleitung"
+        $givenname = ""
+        $primaryMailaddress = "zooleitung@$Primarydomain"
+        $MailaddressAliasList = @()
+        $quota=10
+        # Mailboxtype:
+        # 0 : personal mailbox
+        # 1 : functional mailbox
+        # 2 : room mailbox
+        # 3 : equipment mailbox
+        $Mailboxtype = 1
+        $owner= ""
+        $DeliverMailboxAndForward=$false
+        $forwardingEmailaddress=""
+        # get possible quotapool (first in List)
+        $quotapool= get-quotapool -Domain mustereinrichtung.rwth-aachen.de -WebServiceConnection $global:ws                                                           
+        $quotapoolid= $quotapool[0].id
+
+        $invitation = add-mailboxinvitation -webserviceconnection $global:ws -quotaPoolID $quotapoolid -primaryEMailAddress $primaryMailaddress -givenname $givenname -Surname $surname -QuotaInMB $quota -Aliasaddresses $MailaddressAliasList -Mailboxtype $Mailboxtype -DeliverToMailBoxAndforward $DeliverMailboxAndForward -ForwardingEmailaddress $ForwardingEmailaddress -Owner $Owner
+        $invitation.returncode | should -Be 0
+    }
+
+    It "Add-Mailboxinvitation: room mailbox" {
+        $surname = "Eisbärgehege"
+        $givenname = ""
+        $primaryMailaddress = "eisbaergehege@$Primarydomain"
+        $MailaddressAliasList = @()
+        $quota=10
+        # Mailboxtype:
+        # 0 : personal mailbox
+        # 1 : functional mailbox
+        # 2 : room mailbox
+        # 3 : equipment mailbox
+        $Mailboxtype = 2
+        $owner= $existingPersonalMailaccount
+        $DeliverMailboxAndForward=$false
+        $forwardingEmailaddress=""
+        # get possible quotapool (first in List)
+        $quotapool= get-quotapool -Domain mustereinrichtung.rwth-aachen.de -WebServiceConnection $global:ws                                                           
+        $quotapoolid= $quotapool[0].id
+
+        $invitation = add-mailboxinvitation -webserviceconnection $global:ws -quotaPoolID $quotapoolid -primaryEMailAddress $primaryMailaddress -givenname $givenname -Surname $surname -QuotaInMB $quota -Aliasaddresses $MailaddressAliasList -Mailboxtype $Mailboxtype -DeliverToMailBoxAndforward $DeliverMailboxAndForward -ForwardingEmailaddress $ForwardingEmailaddress -Owner $Owner
+        $invitation.returncode | should -Be 0
+    }
+
+    It "Add-Mailboxinvitation: equipment mailbox" {
+        $surname = "Knuts Spielzeug"
+        $givenname = ""
+        $primaryMailaddress = "knutsspielzeug@$Primarydomain"
+        $MailaddressAliasList = @()
+        $quota=10
+        # Mailboxtype:
+        # 0 : personal mailbox
+        # 1 : functional mailbox
+        # 2 : room mailbox
+        # 3 : equipment mailbox
+        $Mailboxtype = 3
+        $owner= $existingPersonalMailaccount
+        $DeliverMailboxAndForward=$false
+        $forwardingEmailaddress=""
+        # get possible quotapool (first in List)
+        $quotapool= get-quotapool -Domain mustereinrichtung.rwth-aachen.de -WebServiceConnection $global:ws                                                           
+        $quotapoolid= $quotapool[0].id
+
+
+        $invitation = add-mailboxinvitation -webserviceconnection $global:ws -quotaPoolID $quotapoolid -primaryEMailAddress $primaryMailaddress -givenname $givenname -Surname $surname -QuotaInMB $quota -Aliasaddresses $MailaddressAliasList -Mailboxtype $Mailboxtype -DeliverToMailBoxAndforward $DeliverMailboxAndForward -ForwardingEmailaddress $ForwardingEmailaddress -Owner $Owner
+        $invitation.returncode | should -Be 0
+    }
+
+    It "Get-MailboxInvitations: all invitations are created successfully"{
+        $invitations = get-mailboxinvitations -WebserviceConnection $global:ws
+        $invitations.count | should -BeGreaterOrEqual 4
+    }
+
+    It "RemoveMailboxInvitation" {
+        $invitations = get-mailboxinvitations -WebserviceConnection $global:ws
+        $invitations.count | should -BeGreaterOrEqual 4
+        foreach ($invitation in $invitations){
+            $result = remove-mailboxinvitation -webserviceconnection $global:ws -Activationcode $invitation.Activationcode
+            $result | should -BeTrue
+        }
+    }
+
+<#  It "disable Mailbox"{
+        # make sure the mailbox is initialized -> send-mail
+        # and wait for a minute in order to make sure that the mail is delivered
+        Send-MailMessage -To $existingPersonalMailaccount  -From $existingfunctionalMailbox -Subject "Testmail in order to initialize mailbox" -SmtpServer smarthost.rwth-aachen.de
+        Start-Sleep -Seconds 60
+        $mailboxes = get-mailaccounts -webserviceconnection $global:ws
+        foreach ($mailbox in $mailboxes){
+            if ($mailbox.Emailaddress -like $existingPersonalMailaccount) {
+                $personalaccountupn = $mailbox.UPN
+            }
+        }
+        write-host "$personalaccountupn"
+        $result = disable-mailaccount -WebserviceConnection $global:ws -mailbox $personalaccountupn
+        $result | should -Be 0
+    }
+
+    It "Reconnect Mailbox"{
+        # make sure that the serversystem get to know that the account is deleted
+        Start-Sleep -Seconds 60
+
+        $result = reconnect-mailbox -webserviceconnection $global:ws -mailbox $personalaccountupn
+        $result | should -Be 0
+
+    }
+#>
+
+    It "change: forwardingaddress"{
+        $result = change-mailboxforwardingaddress -webserviceconnection $global:ws -mailbox $existingfunctionalMailbox -newforwardingmailaddress $externalmaladdress
+        $result | should -Be $true
+    }
+    It "change: emailaddresses"{
+        $result = change-emailaddresses -webserviceconnection $global:ws -mailbox $existingPersonalMailaccount -primaryEmailaddress $existingPersonalMailaccount -secondaryemailaddress $newmailaddress
+        $result.Returncode | should -be 0
+
+    }
+    It "change: quota"{
+        $result = change-mailboxquota -webserviceconnection $global:ws -mailbox $existingfunctionalMailbox -newquota 200
+        $result | should -Be 0
+    }
+
+    It "change: quotaPool" {
+        # get mailboxinformation
+
+        $mailboxes = $global:ws.getMailboxList()
+        $mailboxtochange = $mailboxes | ? {$_.emailaddress -like $existingfunctionalMailbox}
+        $quotapoolIds = get-quotapool -Domain $Primarydomain -WebserviceConnection $global:ws
+        $quotapoolid = ($quotapoolIds | ? {$_.id -ne $($mailboxtochange.quotapool.id)} | select -first 1).id
+
+        $result = change-mailboxquotapool -webserviceconnection $global:ws -mailbox $($mailboxtochange.upn) -newquotapool $quotapoolid
+        $result | should -Be $true
+    }
+
+    It "change: add fullaccess permission" {
+        $result = change-addfullaccesspermission -webserviceconnection $global:ws -mailbox $existingfunctionalMailbox -user $existingPersonalMailaccount
+        $result | should -Be $true
+    }
+
+    It "change: remove fullaccess permission" {
+        $result = change-removefullaccesspermission -webserviceconnection $global:ws -mailbox $existingfunctionalMailbox -user $existingPersonalMailaccount
+        $result | should -Be $true
+    }
+    It "change: resourcemailbox displayname"{
+        $result = change-mailboxdisplayname -webserviceconnection $global:ws -mailbox $existingfunctionalMailbox -newdisplayname "Alle Tiere des Zoos"
+        $result | should -Be $true
+    }
+    It "change: add SendAS permission" {
+        $result = change-sendaspermission -webserviceconnection $global:ws -mailbox $existingfunctionalMailbox -user $existingPersonalMailaccount
+        $result | should -Be $true
+    }
+
+    It "change: remove SendAs permission" {
+        $result = change-sendaspermission -webserviceconnection $global:ws -mailbox $existingfunctionalMailbox -user $existingPersonalMailaccount
+        $result | should -Be $true
+    }
+
+    It "create: distribution list" {
+        $displayname ="Zoo"
+        $distributionlist = create-distributionlist -WebserviceConnection $global:ws -displayname $displayname -mailaddress $distributionlist
+        $distributionlist | should -Be 0
+    }
+
+    It "Get distribution list" {
+        $result = get-distributionlist -WebserviceConnection $global:ws -mailaddress $distributionlist
+        $result.count | should -Be 1
+    }
+
+    It "change: distributionlist owner" {
+        $result = change-distributionlistowner -WebserviceConnection $global:ws -mailaddress $distributionlist -newowner $existingfunctionalMailbox
+        $($result.ReturnCode) | should -Be 0
+    }
+
+    It "change: globaladdressbook visibility" {
+        $result = change-distributionlistglobaladressbookvisibility -WebserviceConnection $global:ws -mailaddress $distributionlist
+        $result | should -Be $true
+    }
+
+    It "change: distributionlist displayname" {
+        $newdisplayname = "Alle Tiere und Zoowaerter"
+        $result = change-distributionlistdisplayname -WebserviceConnection $global:ws -mailaddress $distributionlist -newmdisplayname $newdisplayname
+        $result | should -Be $true
+    }
+
+    It "cahnge: Distributionlist Mailaddress" {
+        $result =  change-distributionlistemailaddresses -WebserviceConnection $global:ws -mailaddress $distributionlist -newmailaddress $newdistributionmailaddress
+        $($result.Returncode) | should -Be 0
+
+    }
+
+    It "add member to distributionlist" {
+        $result = add-distributiongroupmember -WebserviceConnection $global:ws -distributionlist $distributionlist -newmember $existingfunctionalMailbox
+        $result.Returncode | Should -Be 0
+    }
+
+    It "remove member from distributionlist" {
+        $result = remove-distributiongroupmember -WebserviceConnection $global:ws -distributionlist $distributionlist -member $existingfunctionalMailbox
+        $result.ReturnCode | Should -Be 0
+    }
+
+    It "delete distribution list" {
+        $result = remove-distributionlist -WebserviceConnection $global:ws -mailaddress $distributionlist
+        $result | Should -Be $true
+    }
+}
\ No newline at end of file
diff --git a/Demo/MailAdm-Doku.ps1 b/Demo/MailAdm-Doku.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..171fad3cb6097e9eeab5f6d5b1166f05bd84d5dc
--- /dev/null
+++ b/Demo/MailAdm-Doku.ps1
@@ -0,0 +1,3 @@
+
+
+
diff --git a/Demo/connect.ps1 b/Demo/connect.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..6d361c359c5308c4bbffc4d374a0a617253b6e64
--- /dev/null
+++ b/Demo/connect.ps1
@@ -0,0 +1,23 @@
+
+
+function new-mailadmconnection {
+[CmdletBinding()]
+param (
+    [String]$user,
+    [string]$password,
+    [string]$uri
+)
+$secPW = ConvertTo-SecureString -String $password -AsPlainText -Force
+$cred = New-Object System.Management.Automation.PSCredential($user, $secPW)
+$WS = New-WebServiceProxy -Uri $uri -Credential $cred
+$WS
+}
+
+
+function Get-Domains {
+    [cmdletbinding()]
+    param ($webserviceconnection)
+
+    $domains = $webserviceconnection.GetDomains()
+    $domains
+}
\ No newline at end of file
diff --git a/Demo/distributionlist.ps1 b/Demo/distributionlist.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..a40e04d8ba7f19ba166d173db80ac408d904045b
--- /dev/null
+++ b/Demo/distributionlist.ps1
@@ -0,0 +1,94 @@
+function create-distributionlist  {
+    [CmdletBinding()]
+    param ($WebserviceConnection, $displayname, $mailaddress)
+    
+    $result = $webserviceconnection.CreateMaillist($displayname,$mailaddress)
+    $result
+}
+
+function get-distributionlist {
+    [CmdletBinding()]
+    param ($WebserviceConnection, $mailaddress)
+
+    $distributionlists = $WebserviceConnection.getMailLists()
+    $distributionlist = $distributionlists |? {$_.emailaddress -match $mailaddress}   
+    
+    $distributionlist
+}
+
+function remove-distributionlist {
+    [CmdletBinding()]
+    param ($WebserviceConnection, $mailaddress)
+
+    $distributionlists = $WebserviceConnection.getMailLists()
+    $distributionlist = $distributionlists |? {$_.emailaddress -match "Zoo@mustereinrichtung.rwth-aachen.de"}   
+
+    $result = $WebserviceConnection.RemoveMailList($distributionlist.SamAccountName)
+    $result
+}
+
+function change-distributionlistowner {
+    [CmdletBinding()]
+    param ($WebserviceConnection, $mailaddress, $newowner)
+
+    $secondaryowner = ""
+    $result = $WebserviceConnection.SetMaillistOwner($mailaddress,$newowner,$secondaryowner)
+    $result
+}
+
+
+function change-distributionlistglobaladressbookvisibility {
+    [CmdletBinding()]
+    param ($WebserviceConnection, $mailaddress)
+
+    $distributionlist = get-distributionlist -WebserviceConnection $WebserviceConnection -mailaddress $mailaddress
+
+    if ($distributionlist.ShowInGlobalAddressbook) {
+        $result = $WebserviceConnection.SetMaillistAddToGlobalAddressbook($distributionlist.SamAccountName,$false)
+    } else {
+        $result = $WebserviceConnection.SetMaillistAddToGlobalAddressbook($distributionlist.SamAccountName,$true)
+    }
+    $result
+}
+
+function change-distributionlistemailaddresses {
+    [CmdletBinding()]
+    param ($WebserviceConnection, $mailaddress, $newmailaddress)
+
+    $distributionlist = get-distributionlist -WebserviceConnection $WebserviceConnection -mailaddress $mailaddress
+    $result = $WebserviceConnection.setMaillistEmailaddresses($distributionlist.SamAccountName, $newmailaddress)
+    $result
+}
+
+
+function change-distributionlistdisplayname {
+    [CmdletBinding()]
+    param ($WebserviceConnection, $mailaddress, $newmdisplayname)
+
+    $distributionlist = get-distributionlist -WebserviceConnection $WebserviceConnection -mailaddress $mailaddress
+    $result = $WebserviceConnection.setMaillistDisplayname($distributionlist.SamAccountName, $newdisplayname)
+    $result
+}
+
+
+function add-distributiongroupmember {
+    [CmdletBinding()]
+    param ($WebserviceConnection, $distributionlist, $newmember)
+
+    $mailboxes = $webserviceconnection.getMailboxList()
+    $mailbox = $mailboxes | ? {$_.emailaddress -like $newmember}
+
+    $result = $WebserviceConnection.addMailboxToMaillist($distributionlist,$mailbox.upn)
+    $result
+}
+
+function remove-distributiongroupmember {
+    [CmdletBinding()]
+    param ($WebserviceConnection, $distributionlist, $member)
+
+    $mailboxes = $webserviceconnection.getMailboxList()
+    $mailbox = $mailboxes | ? {$_.emailaddress -like $member}
+
+    $result = $WebserviceConnection.RemoveMailboxFromMaillist($distributionlist,$mailbox.upn)
+    $result
+}
\ No newline at end of file
diff --git a/Demo/listquota.ps1 b/Demo/listquota.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..ddaf3e020d0105fb5461794622e1bbce38611aca
--- /dev/null
+++ b/Demo/listquota.ps1
@@ -0,0 +1,22 @@
+function get-quotapool {
+[CmdletBinding()]
+param (
+    [string]$Domain,
+    $WebServiceConnection
+)
+    $QuotaPools = $WebServiceConnection.getquotaPoolsForDomain($Domain)        
+    $QuotaPools
+  
+}
+
+
+
+function get-quotapoolwithusage {
+    [CmdletBinding()]
+    param (
+        [string]$Domain,
+        $WebServiceConnection
+    )
+        $QuotaPoolsWithUsage = $WebServiceConnection.getquotaPoolsWithUsageForDomain($Domain)        
+        $QuotaPoolsWithUsage  
+    }
\ No newline at end of file
diff --git a/Demo/mailaccounts.ps1 b/Demo/mailaccounts.ps1
new file mode 100644
index 0000000000000000000000000000000000000000..288a1f45246cc39dfc29fa94f33a090d8001ad7a
--- /dev/null
+++ b/Demo/mailaccounts.ps1
@@ -0,0 +1,144 @@
+function get-mailaccounts {
+    [CmdletBinding()]
+    param ($webserviceconnection)
+    
+    $mailaccounts = $webserviceconnection.getMailboxList()
+    $mailaccounts
+}
+
+function add-mailboxinvitation {
+    [CmdletBinding()]
+    param ($webserviceconnection, $quotaPoolID, $primaryEMailAddress, $givenname, $Surname, $QuotaInMB, $Aliasaddresses, $Mailboxtype, $DeliverToMailBoxAndforward, $ForwardingEmailaddress, $Owner)
+
+    $invitation = $webserviceconnection.CreateMailaccountInvitation($quotaPoolID,$primaryEMailAddress,$givenname,$Surname,$QuotaInMB,$Aliasaddresses,$Mailboxtype,$DeliverToMailBoxAndforward, $ForwardingEmailaddress, $Owner)
+    $invitation
+}
+
+function get-mailboxinvitations {
+    [CmdletBinding()]
+    param ($webserviceconnection)
+    $Invitations = $webserviceconnection.GetInvitations()
+    $Invitations
+}
+
+function remove-allmailboxinvitation {
+    [CmdletBinding()]
+    param ($webserviceconnection)
+    
+    $invitations = $webserviceconnection.getinvitations()
+    foreach ($invitation in $invitations){
+        $webserviceconnection.deleteinvitation($invitation.activationcode)
+    }
+}
+
+function remove-mailboxinvitation {
+    [CmdletBinding()]
+    param ($webserviceconnection, $activationcode)
+    
+    $result = $webserviceconnection.deleteinvitation($activationcode)
+    $result
+}
+
+
+function disable-mailaccount {
+    [CmdletBinding()]
+    param ($webserviceconnection, $mailbox)
+    
+    $result = $webserviceconnection.DisableMailbox($mailbox[0].UPN)
+    $result
+}
+
+function reconnect-mailbox {
+    [CmdletBinding()]
+    param ($webserviceconnection, $mailbox)
+    
+    $result = $webserviceconnection.ReconnectMailbox($mailbox[0].UPN)
+    $result
+}
+
+function change-mailboxforwardingaddress {
+    [cmdletbinding()]
+    param($webserviceconnection, $mailbox,$newforwardingmailaddress)
+    $mailboxes = $webserviceconnection.getMailboxList()
+    $mailboxtochange = $mailboxes | ? {$_.emailaddress -like $mailbox}
+    $result = $webserviceconnection.setMailForwarding($mailboxtochange.upn,$true,$newforwardingmailaddress)
+    $result
+}
+function chaange-emailaddresses{}
+function change-mailboxquota {    
+    [CmdletBinding()]
+    param ($webserviceconnection, $mailbox,$newquota)
+
+    $mailboxes = $webserviceconnection.getMailboxList()
+    $mailboxtochange = $mailboxes | ? {$_.emailaddress -like $mailbox}
+
+    $result = $ws.SetQuota($mailboxtochange.upn,$newquota)
+    $result
+
+}
+function change-mailboxquotapool {
+    [CmdletBinding()]
+    param ($webserviceconnection, $mailbox,$newquotapool)
+
+    $result =  $webserviceconnection.setquotapool($mailbox,$newquotapool)
+    $result
+}
+function change-addfullaccesspermission{
+    [CmdletBinding()]
+    param ($webserviceconnection, $mailbox,$user)
+    $mailboxes = $webserviceconnection.getMailboxList()
+    $mailboxtochange = $mailboxes | ? {$_.emailaddress -like $mailbox}
+
+    $result = $webserviceconnection.AddMailboxPermission($mailboxtochange.upn,$user)
+    $result
+}
+
+function change-removefullaccesspermission{
+    [CmdletBinding()]
+    param ($webserviceconnection, $mailbox,$user)
+    $mailboxes = $webserviceconnection.getMailboxList()
+    $mailboxtochange = $mailboxes | ? {$_.emailaddress -like $mailbox}
+
+    $result = $webserviceconnection.RemoveMailboxPermission($mailboxtochange.upn,$user)
+    $result
+}
+
+function change-mailboxdisplayname{
+    [CmdletBinding()]
+    param ($webserviceconnection, $mailbox,$newdisplayname)
+
+    $mailboxes = $webserviceconnection.getMailboxList()
+    $mailboxtochange = $mailboxes | ? {$_.emailaddress -like $mailbox}
+
+    $result = $webserviceconnection.SetRessourceMailboxDisplayName($mailboxtochange.upn,$newdisplayname)
+    $result
+}
+function change-sendaspermission{
+    [CmdletBinding()]
+    param ($webserviceconnection, $mailbox,$User)
+    $mailboxes = $webserviceconnection.getMailboxList()
+    $mailboxtochange = $mailboxes | ? {$_.emailaddress -like $mailbox}
+
+    $result = $webserviceconnection.AddSendAsPermission($mailboxtochange.upn,$user)
+    $result
+}
+function change-emailaddresses{
+    [CmdletBinding()]
+    param ($webserviceconnection, $mailbox,$primaryEmailaddress, $secondaryemailaddress)
+    $mailboxes = $webserviceconnection.getMailboxList()
+    $mailboxtochange = $mailboxes | ? {$_.emailaddress -like $mailbox}
+
+    $result = $webserviceconnection.SetEmailAddresses($mailboxtochange.upn,$primaryEmailaddress,$secondaryemailaddress)
+    $result
+}
+
+
+function change-removesendaspermission{
+    [CmdletBinding()]
+    param ($webserviceconnection, $mailbox,$User)
+    $mailboxes = $webserviceconnection.getMailboxList()
+    $mailboxtochange = $mailboxes | ? {$_.emailaddress -like $mailbox}
+
+    $result = $webserviceconnection.RemoveSendAsPermission($mailboxtochange.upn,$user)
+    $result
+}
\ No newline at end of file
diff --git a/readme.md b/readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..366150d10042a85254b181dfa932dcf0e3277d0f
--- /dev/null
+++ b/readme.md
@@ -0,0 +1,24 @@
+# Project Title
+
+MailAdm API
+
+## Getting Started
+
+Das IT Center der RWTH Aachen stellt den zentralen Mailserver bereit. Die Verwaltung der Mailadressen wird durch registrierte Ansprechpartner für die jeweiligen Einrichtungen (Maildomänen) über eine Web Application (Mailadm) vorgenommen. Um die Prozesse zur Pflege von Mailadressen in die internen Abläufe automatisch integriern zu können wird neben dem MailAdm auch eine entsprechende API angeboeten, so dass die Pflege der Mailadressen in die vorhandenen lokalen Prozesse der jeweiligen Einrichtung integriert werden kann.
+
+### Prerequisites
+
+zur Nutzung der MailAdm API benötigen Sie einen Serviceaccount. Diesen können Sie anfordern indem sie eine Mail an servicedesk@itc.rwth-aachen.de schicken.
+
+## Running the tests
+
+Im Verzeichnis Demo finden Sie entsprechende Unitests um die Schnittstelle mit Ihrem Serviceaccount zu testen. Bitte passen Sie hierzu die MailAdm-Doku.Tests.ps1 den Bereich "connection settings"
+
+## Authors
+
+* **Wilfred Gasper**
+* **Michael Wirtz**
+* **Ketli Cellonari**
+* ***Julia Opgen-Rhein**
+* **Kevin Gostomski**
+* **Thomas Pätzold**
\ No newline at end of file