the c version works again