made BookShelfFree recursive