add structure for lib