Use pattern guard!
Add exercise and refactor into companion object