Added authentication checks
Extracting methods
More extract methods