MsExchange Blog Spot Telnet25

March 30, 2015

Running ExFolders in Exchange 2010 server generates following errors.The Active Directory User wasn’t found.

Filed under: General — telnet25 @ 3:29 pm

Running ExFolders in Exchange 2010 server generates following errors.

An error occurred while trying to establish a connection to the Exchange Server. Exception The Active Directory Use wasn’t found. The reason for this error is “empty Servers container” present within the “old admin groups” within the Exchange organization. To be clear what needs to be deleted is “Empty Servers Container” and leaving old administrator group alone. The issue described is also most likely is causing PF replication issues in your organization and most common reason of this issue is completing Exchange 2003 migration by taking out last Exchange 2003 server from environment.



The fix is fairly simple , open ADSI Edit  Connect to Configuration Partition and delete the empty Servers container ONLY!!!!

  • CN=Configuration,DC=ZtekCorp,DC=org
  • CN=Services
  • CN=Microsoft Exchange
  • CN=ZtekZone
  • CN=Administrative Groups
  • CN=Messaging Servers
  • CN=Servers


save the changes and verify the ExFolders works as expected and the issue with PF replication is no longer exist. It is pretty safe to delete the empty server container as long as you wont mess with Old administrator group alone.

Oz Casey, Dedeal  ( MVP North America)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server + (Blog) (Blog)

Twitter @Message_Talk

March 26, 2015

Running MAP Toolkit for SQL and Exchange Server related reporting.

Filed under: General — telnet25 @ 4:00 pm

MAP toolkit is pretty impressive tool set from Microsoft and it is free. You can perform real simple application related queries ( SQL,Exchange Server ,Oracle ,Desktop,Virtualization etc.) and produce powerful and useful information for the given environment. The MAP toolkit helps increase the agility and cost effectiveness of deploying the latest Microsoft technologies and it provides pretty comprehensive reports. It is worth it to have MAP toolkit  in the environment and it can be pretty valuable tool.


Installation MAP is pretty straight forward , I will list the steps and some of the tweaks to save some time.

  • Install MAP tool
  • Create repository database by clicking on file and selecting Create/Select Database


  • Provide name to your database and click on the bottom


  • Verify the database has been created


  • Click Database and under SQL Server Discovery , we will run our fist query


  • Click Collect Data


  • Select SQL servers ( the information pane is very useful it provides detailed information about what has been selected)


  • We will first run SQL server query and come back to run SQL server with Database Details query


  • We will use pre defines text file to import the servers we would like to use for the scan m click next, the text file will have SQL server names in a simple fashion.


  • Click next


  • Click Save and next


  • Click next again, on the import files click "Create"


  • Click "Add"


  • Locate the text file
  • Select "Use All Computers credentials list"


  • And click save


  • Click next on the summary page my sure you have captured all you need to run the query


  • Now the query will run against the server provide by the list


  • You will see the numbers will go up as the MAP toolkit discovers and adds the SQL server into inventory


  • You can click on details to see more information


  • Once it is complete , click close
  • Now click on SQL discovery and under options you will have reports you need




  • Now export the SQL data by clicking on it



  • You can copy and paste these reports onto your workstation.


If you open exported Excel spreadsheet you will find very useful and comprehensive data  for your environment.


Location of Local MAP inventory databases

  • C:\Users\UserName \Documents\MAP\Database Backups
  • You can export and import the databases to be used and shared among administrators.

Diagnostic Logging for MAP (Troubleshooting)

  • Location of Map Toolkit.log file C:\Users\UserName\AppData\Local\Microsoft\MAP
  • Each time the MAP tool runs it creates section similar below, this will help for troubleshooting issues to see what is going on.


Firewall Ports for MAP to run properly

  • Will need to open ports 135 and 1024-65535, ( source to destination) the reason for this has to do with the way RPC works. WMI uses DCOM to communicate with remote machines, and DCOM uses RPC extensively.
  • Use Port scanner to determine the ports on the destination and ask assistance firewall team


Oz Casey, Dedeal  ( MVP North America)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server + (Blog) (Blog)

Twitter @Message_Talk

February 26, 2015

File Share Witness & Exchange 2013

Filed under: General — telnet25 @ 4:28 am

In a DAG ( Exchange 2013) to have ability to perform automatic failover requires three separate physical network locations.In the scenario below two redundant datacenters for DAG and third datacenter is used (Azure Network.) for Witness server for DAG1. If you look carefully you will realize we used two different Active Directory Site for DC1 and DC2 and stretched the DAG1 on both datacenters. We placed Domain controller on the Azure network and created AD site. ( Enabling FSW on the DC  while possible it is not recommended configuration)

Organizations with only two physical locations now can also take advantage of automatic datacenter failover by using a Microsoft Azure file server virtual machine to act as the DAG’s witness server.

This configuration requires a multi-site VPN. It has always been possible to connect your organization’s network to Microsoft Azure using a site-to-site VPN connection. However, in the past, Azure supported only a single site-to-site VPN. Since configuring a DAG and its witness across three datacenters required multiple site-to-site VPNs, placement of the DAG witness on an Azure VM wasn’t initially possible

How to configure Azure network for FSW is documented here

In this configuration several things to be considered.

  • Make sure your operational  requirements meets the usage of the Azure Network
  • Initials configuration extending Azure network to your data centers will require addition network configuration and the work is  documented on the link provided above.
  • You will need to pay as you go within the Azure Network. ( remember Cloud is not cheap)
  • Having Domain Controller AND extending your network to Cloud could help you if your plans to move into Cloud at some point.
  • Configure Multi Site VPN documented here





Oz Casey, Daedal  ( MVP North America)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server + (Blog) (Blog

February 23, 2015

Outlook Connectivity With Exchange 2013

Filed under: General — telnet25 @ 3:32 am


There are major changes within Exchange 2013 compared to Exchange 2010. The way Outlook Client connect to Mailbox Server to get its mail data is  “simplified” there is no need for middle tier with Exchange 2013. The way I see,  as long as Exchange Server and its architecture requires less IOPS to operate, there will be more room for improvements and simplicity.


  • User Logs into workstation, it authenticates to active directory with a valid user name and password.
  • User opens Outlook at the first time, outlook performs AutoDiscover Lookup to figure out logged in user mailbox GUID.
  • Outlook connects to CAS Server, and CAS Authenticates the request (Exchange 2013) using HTTP, it provides mailbox GUID as its endpoint to CAS array.
  • CAS takes this information and performs Active Directory lookup
  • AD will provide the user information back to CAS Server
  • CAS server will make a query to Active Manager Instance, which runs inside the “Microsoft Exchange Replication Service” on all Mailbox Servers
  • Active Manager Instance will pull information about requested user mailbox, the name of the mounted database (Active DB) and the Mailbox server name.
  • CAS proxies the request to Mailbox Server hosting the active copy of database.
  • The data rendering happens on the backed Mailbox Server
  • The affinity for user connection is no longer needed on the CAS level.



Oz Casey, Dedeal  ( MVP North America)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server + (Blog) (Blog

January 26, 2015

Microsoft Ignite 2015

Filed under: General — telnet25 @ 12:09 pm

In the past years Microsoft has delivered multiple conferences, with  Ignite we start seeing consolidation of all , the Exchange, SharePoint, Lync, Project, and TechEd conferences.

This gigantic event will be held at May 4-8, 2015 in Chicago, IL and open for all interested.


If you curious how much it will cost you here is a pick view

Pass Options to pick from

  • Full Conference Pass = $2,220
  • Plus Pass = $495
  • Plus Pass: Chicago $495
  • Plus Pass: Limited Edition $195
  • Day Pass = $500
  • Expo Only Pass = $300
  • Student = $995
  • Academic Faculty and Staff Discount = $1,220


I personally do not like huge conferences, My reasoning is too many good stuff and limited time to to attend and digest all. Those of you who are lucky to make upcoming Ignite will feel reasoning.

The content of the ignite look incredibly rich and exciting by the way if you like to see the content, take a look some of the highlights

Have fun everyone who will be at the ignite 2015.

Oz Casey, Dedeal  ( MVP North America)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server + (Blog) (Blog

December 11, 2014

Recovering Active Directory From Total Lost Disaster Recovery Basic Steps.

Filed under: General — telnet25 @ 4:19 am

In this article I will help you to understand, how to recover your entire forest from total lost. Many networks these days do have multiple domain controllers and especially on enterprise networks losing all available domain controllers less likely but still possible. If you do not have published SOP for recovering your Active Directory Forest the steps in this article might provide you frame work you need.

Scenario: Entire datacenter is gone, you do have your backup and infrastructure ready on the second data center.

Note: backup at least two Domain controller from each domain regularly to preserve better recovery option when needed.

Note: per Microsoft it is not recommended to restore FSMO role holder in the interest of simplicity.  (Forest recovery white paper)


now we lost DC1 , and we must recover Entire Forest /Domains from tape backup.



  1. Prepare VM host on the DC2 , ready to be deployed
  2. Make sure each VM is able to talk to ( TCP/IP) your backup media Servers in the DC2
  3. Recover first Domain Controller on the Forest Root from good tape backup (SystemState)
  4. You will need to know DSRM administrator user name and password
  5. Reboot into  DSRM (Directory Services Restore Mode) mode by pressing F8 key after successful restore.
  6. Install VM host integrated Drivers ( Do not remove any of the existing drivers came with image, it could cause blue screen)
  7. Disable all Physical NIC cards , un-check option register this connection into DNS on all the NIC’s which are no longer being user. Domain controllers in general do not need more than single NIC.
  8. Make sure all Disks for the Recovered DC is configured correctly ( SYSVOL and .DIT )
  9. Bring all Disks online , make sure correct disk labeling is in place ( same as lost DC )
  10. Verify SYSVOL and .DIT exist after successful recovery
  11. Configure TCP/IP  IPV4 or IPV6 properties based on your needs, you can use different IP address schema, domain controllers will register their new IP addresses and their DC related DNS records into DNS on the first reboot.
  12. Reboot the DC into regular mode
  13. Wait for SYSVOL to become available ,
  14. login to DC with Domain administrator privileges
  15. Perform an authoritative  SYSVOL restore Set BurFlags to D4
  • Click Start, and then click Run.
  • In the Open box, type cmd and then press ENTER.
  • In the Command box, type net stop ntfrs.
  • Click Start, and then click Run.
  • In the Open box, type regedit and then press ENTER.
  • Locate the following subkey in the registry:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\NtFrs\Parameters\Backup/Restore\Process at Startup

  • In the right pane, double-click BurFlags.
  • In the Edit DWORD Value dialog box, type D4 and then click OK.

From command prompt type “net Share” to verify SYSVOL is shared.

Perform metadata cleanup ( Windows 2008 use ADUC ) or NTDSUTIL , if you are in large environment using ADUC is much faster, simply locate the DC computer object and select delete.( Related Link )

Tip: If you leave the FSMO Role holders to last to FSMO role DC’s will force FSMO Seizure to surviving DC ( one last step to worry about seizing the FSMO Roles)

  1. Reset machine account twice
  2. Reset the krbtgt account password twice
  3. Reset all trust passwords
  4. Seize the FSMO roles if you have not done it already
  5. Delete all orphan KCC replication connections
  6. Clean up DNS, Name Servers , Forwarders , Stale CNAME, Glue records, delete them all.
  7. Promote second DC on the root domain, if you have single label domain name space at this point you would DCPROMO other DC’s.
  8. On the Child Domain Restore First Writable Domain Controller
  9. Log into DSRM mode
  10. Perform all initial steps done on the previous restore
  11. Make sure TCP/IP properties Primary DNS for Child Domain controller is pointing to Root DC.
  12. Reboot restored Child Domain controller into regular mode.
  13. Wait for SYSVOL to be available
  14. Log into DC
  15. You need to set BurFlags to D2 on the child domain controller , if you wont do this SYSVOL folder will disappear after some time.
  16. Use RepAdmin  to make sure replication from Child to Parent is working
  17. Perform Metadata Cleanup
  18. Perform FSMO Role Seizure.
  19. Check to make sure DNS comes up.
  20. Cleanup all stale CNAME,A , GLU, RDNS entries 
  21. Make sure DC’s are stable
  22. Start planning your application servers recovery and have fun (-:

DCDiag and RepAdmin are two of the most powerfull command line tools use them.

dcdiag /V /C /D /E /s:DCname > C:\temp\DcDiag.txt


Oz Casey, Dedeal  ( MVP North America)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server + (Blog) (Blog

Download Forest Recovery White Paper

November 11, 2014

Exchange 2016 & Skype4B

Filed under: General — telnet25 @ 6:22 pm


I have recently attended MVP summit 2014 at Redmond. I must admit this was one of the most significant summit. I had same feelings when I attended MVP summit 2010.

Microsoft future vision was told us back then , most of critical Microsoft products would be running from “Cloud” in the future. Here we are almost 2015 and yes there has been many significant changes Microsoft has done to re-direct the business energy to cloud deployments. And more is on the way !!!!

It is very clear to me couple more years the current way of doing traditional IT business  will shrink and more and more “Cloud” deployments will be joining into our lives.

Information systems and  technology is subject to change and adopt fast innovations.  Most of these changes are inevitable and we will be adapting these changes.

Let’s take a look at some of the major changes and related news, which are rumbling around the internet

Exchange 2016 On prem & Office 365 “Cloud”


IT admins spend less time maintaining servers and more time lighting up features that make users happy.

It’s true that customers are shifting their Exchange deployments from on-premises to the cloud, and it’s true that we are investing heavily in Office 365. We’re fans of Office 365 because we’ve seen that when customers run email in our cloud, they save money, they get larger mailboxes, and they get faster access to our latest innovations. IT admins spend less time maintaining servers and more time lighting up features that make users happy. Running Office 365 also brings us real-world experience that helps us build a better on-premises product


Lync 2013 & Skype4B

In the first half of 2015, the next version of Lync will become Skype for Business with a new Current Lync Server customers will be able to take advantage of these capabilities simply by updating from Lync Server 2013 to the new Skype for Business Server in their datacenters.



more to come stay tuned….

Oz Casey, Dedeal  ( MVP North America)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server + (Blog) (Blog)



September 29, 2014

Arbitration Mailbox Exchange 2010 and 2013

Filed under: General — telnet25 @ 12:35 pm

Exchange Server system mailbox is also called "Arbitration" mailbox. Exchange Server uses these mailboxes for various tasks. These mailboxes are being created when you setup first exchange server preparing Active Directory /PrepareAD in the root domain of the AD Forest.

if you would like to locate these mailboxes you would use get-mailbox –Arbitration cmdlet and if you are in the root and child domain environment, you have to adjust the PS search to look at the root of the forest  to locate these accounts.

Set-ADServerSettings -ViewEntireForest $true

Get-mailbox -Arbitration | fl name,Database,DisplayName,ServerName

  • Name : SystemMailbox{1f05a927-eac1-46e7-9a47-611e1a81bb50}
  • Name : SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}
  • Name : SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}
  • Name : Migration.8f3e7716-2011-43e4-96b1-aba62d229136

If you go to root of your active directory forest you will be able to locate the user accounts associating with these system mailboxes.


By default they are located at the users container in the root of the AD Forest.


Arbitration system mailboxes keeps & stores organization wide data in them such as

  • eDiscovery Searches Metadata  ( if you are using  search-mailbox cmdlet with –targetmailbox switch and offloading searched enterprise data, before deleting the Arbitration system mailboxes could get potential big with the metadata collection as repository)
  • Administrator audit logs  ( Ability to run Search-AdminAuditLog cmdlet )
  • Unified Messaging data, such as menus, dial plans, and custom greetings

In most of the cases these account you wont pay huge attention , as they are not exposed to EMC and there is less chance them getting deleted. To be better prepared you can turn on “Protect object from accidental deletion”  on these accounts.


You can do same work from PS , the most common way is to ask for help if you do not remember the cmdlet

import-module ActiveDirectory

Get the help you need

Get-Help Get-ADUser -examples

Look for System Mailboxes

Get-ADUser -Filter ‘Name -like "SystemMailbox*"’ | FT Name


Enable all at once.

Get-ADUser -Filter ‘Name -like "SystemMailbox*"’ | Set-ADObject -ProtectedFromAccidentalDeletion:$true


Scenario –1

You have decided to move these mailboxes onto another database

Specify the target database with new-move Request

Get-Mailbox -Arbitration -Identity "SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}" | New-MoveRequest -TargetDatabase DB200

Scenario – 2

You decided to delete the System mailbox while preserving AD Account so you can create new Arbitration System mailbox

List the Arbitration mailboxes

Get-mailbox -Arbitration | fl name

  • Name : SystemMailbox{1f05a927-eac1-46e7-9a47-611e1a81bb50}
  • Name : SystemMailbox{e0dc1c29-89c3-4034-b678-e6c29d823ed9}
  • Name : SystemMailbox{bb558c35-97f1-4cb9-8ff7-d53741dc928c}
  • Name : Migration.8f3e7716-2011-43e4-96b1-aba62d229136
Get-mailbox -Arbitration -Identity "SystemMailbox{1f05a927*" | Disable-Mailbox –Arbitration –Confirm:$False

AD account is still exist, we will create brand new arbitration mailbox for the same account.

Enable-mailbox -Arbitration -Identity "SystemMailbox{1f05a927*"


Scenario – 3

Arbitration mailboxes AD account has been deleted , simply re-run setup

If you have Exchange 2013 in the environment you need to run the setup from E2013 media.

Setup.EXE /IAcceptExchangeServerLicenseTerms /PrepareAD


Simple enough after setup is complete, they are back.


Oz Casey, Dedeal ( MVP north America)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server + (Blog) (Blog)

September 17, 2014

Configuring Internal Application Relay with Receive Connector Part#2

Filed under: General — telnet25 @ 4:14 am

Open your newly created internal Receive connector my making right click on it and selecting properties


In order to allow Anonymous Authentication follow the steps in this order. On the Authentication Tab TLS is selected by default.

  • Click Permissions and select “Exchange Servers” and click apply


  • Now go back to Authentication and select “Externally Secured” this is where the magic starts


  • I will explain in details why we selected this option and what happened in the background.
  • Go back to Permissions Tab and select this time “Anonymous”


  • If you don’t follow the order you will receive error, some controls aren’t valid.

You must set the value for the PermissionGroups to ExchangeServers when you set the AutMechanism parameter to a value of ExternalAuthoritative.


  • You got this because you did not follow the order listed above.
  • If you enable “Eternally Secured” you will be forced to use limited offer TLS with this connector,
  • You can go back and mess with Permissions groups if you do have any requirements.


Step-1 —————> Permission Groups, Select Exchange Servers

Step-2 —————> Authentication Settings, Select Externally Secured

Step-3 —————> Permission Groups, Select Anonymous

Externally Secured meaning is, This Receive connector will lift off most of the restrictions, you are pretty much trusting the internal Servers, the relaying servers are “Trusted: therefore you will be adding the IP address of the relaying servers into here.


Here is list of permissions gets assigned to this connector


MS Exchange\Externally Secured Servers {ms-Exch-SMTP-Accept-Authoritative-Domain}


MS Exchange\Externally Secured Servers {ms-Exch-Bypass-Anti-Spam}


MS Exchange\Externally Secured Servers {ms-Exch-Bypass-Message-Size-Limit}


MS Exchange\Externally Secured Servers {ms-Exch-SMTP-Accept-Exch50}


MS Exchange\Externally Secured Servers {ms-Exch-Accept-Headers-Routing}


MS Exchange\Externally Secured Servers {ms-Exch-SMTP-Submit}


MS Exchange\Externally Secured Servers {ms-Exch-SMTP-Accept-Any-Recipient}


MS Exchange\Externally Secured Servers {ms-Exch-SMTP-Accept-Authentication-Flag}


MS Exchange\Externally Secured Servers {ms-Exch-SMTP-Accept-Any-Sender}

See the  Receive connectors



Add AD Permissions to this Receive Connector

$ReceiveConnector = "E1\Internal_Relay-1"

Get-ReceiveConnector "$ReceiveConnector" | Add-ADPermission -User "NT AUTHORITY\ANONYMOUS LOGON" -ExtendedRights "Ms-Exch-SMTP-Accept-Any-Recipient"


Now let’s see the properties of this connector

Get-ReceiveConnector -Identity "E1\Internal_Relay-1" | fl


Now if you have applications will relay off this connector and they are defined with short names, you will need to add your SMTP domain name in this filed, otherwise the short name completion may fail with 501 5.1.3 Invalid address Short Name Rcpt SMTP address etc.

Basically the application server is passing valid from SMTP Address format on the relay submission and on the CC or BB it is passing short names such as casey.Dedeal


To: Casey.Dedeal

Bcc: Jon.Doe


To overcome with this issue allow applications to continue to use short names on the CC or BCC field use

$ReceiveConnector = "E1\Internal_Relay-1"

Set-Receiveconnector "$ReceiveConnector" -defaultdomain


Now this connector will append default specified SMTP domain to short names when application is performing relay submission.


One less to worry , especially for applications who are written poorly. ( none full SMTP compliant)

If you like to see the AD Permissions on this connector

$ReceiveConnector = "E1\Internal_Relay-1"

Get-ReceiveConnector "$ReceiveConnector” | Get-ADPermission | where {$_.extendedrights –like “*Any-Recipient”}


Lastly , use network sniffer and SMTP loggings options  to further troubleshoot any SMTP submission failures on this connector.

Oz Casey, Dedeal ( MVP north America)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server + (Blog) (Blog)

SMTP Application Relay Receive Connector Exchange 2010 and 2013

Filed under: General — telnet25 @ 2:51 am

Internal Application Relay Connector Part-1

If you get this far and reading this article, most likely you do need to build internal Application Relay Connector with Exchange 2010 or Exchange 2013. Part-1 I will list the requirement and sample deployment plan, which will assist you to pull swift, head ache worry implementation. Trust me on this planning correctly at the very beginning is the way of doing it right. Each time I roil into small, big projects this becomes reality.

Step#1 Identity the applications will use this connector and use sample table below




  1. Test new Receive Connector for application relay
  2. Verify application relay works after cut over
  3. If you do not have test environment the table below will help you to test in production
  4. Make certain you have fail back steps included into your cut over implementation plans
  • Let’s create the connector,
  1. Creating Internal Application Relay Receive Connector Part#1
  2. Log onto your management Server, or Exchange HTS (Hub Transport Server) with correct administrator privileges via RDP ( Remote Desktop Protocol)
  3. After successful logon, Click on All Programs, Microsoft Exchange Server 2010, Exchange Management Console, run EMC with administrator privileges by making right click on it, accept any UAC prompts by clicking yes.


  • Expand Microsoft Exchange on Premises
  • Go down to Server Configuration, Expand it click on Hub Transport Server

Now each Server will have Client and Default connectors, if you do not know what they do , you may want to do use your Bing-Fu skills to get to know them, in most cases you would leave these connectors alone and create receive connector with desired authentication methods and permissions which we are about to do.


  • Now in the middle pane make right click and select “New Receive Connector”


  • Give it a name and click next


  • If you have any special requirements you can change listening port , use server FQDN on the connector and click next, if not leave with defaults and click Next


  • Now click on red X and delete the subnet defined there


  • Add the IP address of the application server, (this could be HLB proxy IP address etc.), the IP address id being used to talk to this connector


  • Click new


  • Click Finish


  • You could practically skip all GUI and use the PS listed below to get the same work done, Change required filed if you wish to create same connector from PS.

New-ReceiveConnector -Name ‘Internal_Relay-2′ -Usage ‘Custom’ -Bindings ‘′ -Fqdn ‘’ -RemoteIPRanges ‘’ -Server ‘E1′


  • If you refresh GUI you will notice both connectors are there


We are done with part one, On part 2 we will configure the internal Application Relay Connector with correct settings, to allow internal applications to relay successfully stay tuned.

Oz Casey, Dedeal ( MVP north America)
MCSE 2003, M+, S+, MCDST
Security+, Project +, Server + (Blog) (Blog)

Next Page »

The Rubric Theme. Blog at


Get every new post delivered to your Inbox.

Join 39 other followers