add cgen