add library part 1