for HJJ generation