new structure, no more boost dependence