working on c versions