library final

final version