the putcc function