library challenges