more improvements like synchronize