add library struct