further reduced synchronization and added comments there more
improvements can be done