fixed charbuilder, refactor all levels to use charbuilder