not use boost
use libcapd.a