Add specific exceptions for better error handling
Fix build
better docs