add cprintf