a data structure util wrote by c