added in sync and the init fail handling