library.py complete