for noH generation