 		
 		var keys = KeyboardKey[][]()
 		
+		let row1Letters = ["Q","W","E","R","T","Y","U","I","O","P"]
+		let row2Letters = ["A","S","D","F","G","H","J","K","L"]
+		let row3Letters = ["Z","X","C","V","B","N","M"]
+		
 		var row1Keys = KeyboardKey[]()
 		for letter in row1Letters {
-			let letterKey = LetterKey(letter: letter)
-			letterKey.action = {
-				self.typer.typeString(letterKey.letter)
-			}
-			letterKey.capitalized = true
+			let letterKey = self.letterKeyWithLetter(letter)
 			row1Keys.append(letterKey)
+			letterKeys.append(letterKey)
 		}
 		keys.append(row1Keys)
 		
 		var row2Keys = KeyboardKey[]()
 		for letter in row2Letters {
-			let letterKey = LetterKey(letter: letter)
-			letterKey.action = {
-				self.typer.typeString(letterKey.letter)
-			}
-			letterKey.capitalized = true
+			let letterKey = self.letterKeyWithLetter(letter)
 			row2Keys.append(letterKey)
+			letterKeys.append(letterKey)
 		}
 		keys.append(row2Keys)
 		

			self.shiftState = self.shiftKey.shiftState
		}
		for letter in row3Letters {
			let letterKey = LetterKey(letter: letter)
			letterKey.action = {
				self.typer.typeString(letterKey.letter)
			}
			letterKey.capitalized = true
			row3Keys.append(letterKey)
		}
		row3Keys.append(deleteKey)
		deleteKey.action = {

		swipeDownWithTwoFingers.numberOfTouchesRequired = 2
		self.inputView.addGestureRecognizer(swipeDownWithTwoFingers)
    }
	
	func letterKeyWithLetter(letter: String) -> LetterKey {
		let letterKey = LetterKey(letter: letter)
		letterKey.action = {
			self.typer.typeString(letterKey.letter)
		}
		return letterKey
	}
	
	override func viewDidAppear(animated: Bool) {
		super.viewDidAppear(animated)
