diff --git a/R/KorAPConnection.R b/R/KorAPConnection.R
index a84bbb1..0b52f96 100644
--- a/R/KorAPConnection.R
+++ b/R/KorAPConnection.R
@@ -1,7 +1,7 @@
 #' Class KorAPConnection
 #'
-#' \code{KorAPConnection} objetcs represent the connection to a KorAP server.
-#' New \code{KorAPConnection} objects can be created by \code{KorAPConnection()}
+#' \code{KorAPConnection} objects represent the connection to a KorAP server.
+#' New \code{KorAPConnection} objects can be created by \code{KorAPConnection()}.
 #'
 #' @import jsonlite
 #' @import utils
@@ -18,7 +18,7 @@
 #' @param apiUrl URL of the KorAP web service.
 #' @param userAgent user agent string.
 #' @param timeout time out in seconds.
-#' @param verbose logical decides wether following operations will default to be verbose
+#' @param verbose logical. Decides whether following operations will default to be verbose.
 #' @return \code{\link{KorAPConnection}} object that can be used e.g. with \code{\link{corpusQuery}}
 #'
 #' @examples
diff --git a/R/KorAPQuery.R b/R/KorAPQuery.R
index 14a990c..fb4a33e 100644
--- a/R/KorAPQuery.R
+++ b/R/KorAPQuery.R
@@ -84,13 +84,13 @@
 #' Perform a corpus query via a connection to a KorAP-API-server.
 #'
 #' @param kco \code{\link{KorAPConnection}} object (obtained e.g. from \code{new("KorAPConnection")}
-#' @param query string that contains the corpus query. The query langauge depends on the \code{ql} parameter. Either \code{query} must be provided or \code{KorAPUrl}
+#' @param query string that contains the corpus query. The query language depends on the \code{ql} parameter. Either \code{query} must be provided or \code{KorAPUrl}.
 #' @param vc string describing the virtual corpus in which the query should be performed. An empty string (default) means the whole corpus, as far as it is license-wise accessible.
 #' @param KorAPUrl instead of providing the query and vc string parameters, you can also simply copy a KorAP query URL from your browser and use it here (and in \code{KorAPConnection}) to provide all necessary information for the query.
 #' @param metadataOnly boolean that determines whether queries should return only metadata without any snippets. This can also be useful to prevent access rewrites. Note that the default value is TRUE, unless the connection is authorized (currently not possible).
 #' @param ql string to choose the query language (see \href{https://github.com/KorAP/Kustvakt/wiki/Service:-Search-GET#user-content-parameters}{section on Query Parameters} in the Kustvakt-Wiki for possible values.
-#' @param fields (meta)data fields that will be fetched for every match
-#' @param accessRewriteFatal abort if query or given vc had to be rewritten due to insufficent rights (not yet implemented)
+#' @param fields (meta)data fields that will be fetched for every match.
+#' @param accessRewriteFatal abort if query or given vc had to be rewritten due to insufficent rights (not yet implemented).
 #' @param verbose print some info
 #' @return A \code{\link{KorAPQuery}} object that, among other information, contains the total number of results in \code{@totalResults}. The resulting object can be used to fetch all query results (with \code{\link{fetchAll}}) or the next page of results (with \code{\link{fetchNext}}).
 #' A corresponding URL to be used within a web browser is contained in \code{@webUIRequestUrl}
diff --git a/Readme.md b/Readme.md
index 001ce49..54aad82 100644
--- a/Readme.md
+++ b/Readme.md
@@ -4,7 +4,7 @@
 
 ## Description
 
-Simple R package to access the [web service API](https://github.com/KorAP/Kustvakt/wiki) of the [KorAP Corpus Analysis Platform](http://korap.ids-mannheim.de/) devloped at the [IDS Mannheim](http://ids-mannheim.de/)
+Simple R package to access the [web service API](https://github.com/KorAP/Kustvakt/wiki) of the [KorAP Corpus Analysis Platform](https://korap.ids-mannheim.de/) devloped at the [IDS Mannheim](http://ids-mannheim.de/)
 
 **This packgage is in its early stages and not stable yet! In particular, please expect that, at this early stage, objects, functions, parameters as well as their names or identifiers will still change continuously without any notification. Use it on your own risk!**
 
