my own libctf