add realtime generate