synchronition and exception handling