Публикую то, что не смог когда-то найти на просторах интернета, поэтому пришлось разбираться самостоятельно.