Added exception handling + user settings
Refactor OAuth structure