move throwExistException to init