adjusted lib structure