[#62] refactored authenticate! method for it to raise errors