do optencod utility more portable, correct prototypes