authenticate does not need to be a helper method