completed char generation