add library: part 1