Fix insanity
Implement timeouts
Add exceptions classes
Fix some inconsistencies and add timeout to client