new lib structure + new hp