fully refactored Library class methods for better transparency