블로그에 종종 원색적인 글을 써서 블로고스피어와 트위터버스를 시끌벅적하게 만들어버리는 조카르마가 다시 한건 했다.

며칠전 영회가 "Uncle Bob이 열받았나봐"라고 하면서 알려준 글인 Echoes from the Stone Age를 읽어보았다. 처음 보고는 "관심을 좀 끊을만 하면 다시 등장하는 지겨운 TDD 논쟁이 또 시작된 것인가" 했는데, 발단이 된 글들을 쭉 찾아서 읽다보니 단순히 TDD/단위테스트에 관한 문제가 아니라 더 근본적인 문제에 대한 다른 시각을 가진 사람들의 생각이 충돌한 것이라는 느낌이 들었다.

시작은 조엘의 The Duct Tape Programmer라는 글이었다.  사실은 나도 며칠 전에 언급했던, 요즘 잘 나간다는 Coders at Work이라는 책에 관한 리뷰 내지는 홍보글이다. 그 책에 등장하는 인물 중 한명인 Jamie Zawinski이라는 전설적인 개발자에 관한 이야기를 하면서 평소 자신이 주장하려고 했던 "잘난척하려고 별 가치도 주지 못하는 고급기술 따위에 혹해서 시간 낭비하지 말고 땜빵질을 해가면서라도 그저 빠르게 제품을 출시하는 것이 가장 중요한 것이다. 평균적인 개발자들은 제대로 이해하고 소화하기 힘든 얘기들이나 떠들면서 잘난척 하는 인간들은 재수없다" 라는 얘기를 쭉 풀어나간 것이다.

문제는 처음에는 다중상속이니 C++템플릿이니 멀티쓰레딩 COM이니, CORBA니 하는 것들을 예로 들면서 duct tape programmer는 그렇게 폼나는 고급 기술을 가지고 오버엔지니어링 하느라 쓸모없이 시간과 정력을 낭비하지 않는다라고 잘 설명했는데, 갑자기 그렇게 "오버엔지니어링에 빠져있고 폼나는 기술을 가지고 아는 척 하지만 정작 제대로된 제품을 빨리 만들어내는 것은 못하는 사람들"의 특징으로 디자인패턴에 빠져있다는 것을 언급하고는 이어서 책에 나오는 Jamie Zawinski의 얘기를 인용하면서 이번엔 "단위테스트 따위는 필요없다. 말만 좋지, 그것은 즐기면서 슬슬 개발해도 되는 경우에나 필요한 것이지 제한된 시간에 빨리 제품을 출시해야 하는 실전에서는 별로 중요하지 않다. 고객이 단위테스트 없다고 불평하는 것 봤냐?"라는 식의 이야기를 하면서 슬그머니 이전에 한번 켄트 벡과 밥 마틴을 흥분시켰던 단위테스트 무용론을 끄집어 냈다.

대놓고 "단위테스트는 별 가치도 없고 개발시간만 축내는 것"이라고 비난했다가 켄트 벡과 밥 마틴을 화나게 했던 지난 번의 주장을 이번에는 책을 소개하는 척 하면서 다른 유명 개발자의 입을 빌어서 슬그머니 다시 끄집어 낸 것이다.

이번 글을 읽어보면 조엘이 정말 하고 싶은 얘기가 무엇인지 어렵지 않게 알 수 있다. 개발자란 결국 제때에 빠르게 제품을 내놓는 것이 가장 중요한 가치이고, 비록 duck tape programmer라고 불린다고 할지라도, 그렇게 해낼 수만 있다면 그것으로 충분하다는 것이다. 오히려 유행하는 이론과 기술에 휩쓸리지 않고 그렇게 할 수 있는 용기와 실력이 대단하다는 것이라는 얘기다.

조엘의 이런 사고방식은 stackoverflow.com에 올라온 IoC/DI에 관한 질문에 쓴 그의 답변에도 잘 드러나 있다. 자신은 IoC/DI 기술자체를 판단하고 싶지는 않다고 하면서 IoC/DI를 쓰는 사람은 정말 똑똑한 사람이거나 아니면 다른 사람들은 그들만큼 훌룡하지 않다는 것에 공감할 줄 모르는 사람이라고 비아냥거린다. 마틴 파울러의 화려한 DI에 관한 글을 읽고, 며칠씩 걸려서 200여페이지의 매뉴얼을 끙끙 공부하고서도 제대로 이해도 못한채로 어설프게 써야 하는 것을 왜 구지 써야 하는가 라는 얘기다. 그러면서 IoC/DI는 코드를 읽기 힘들고 하나의 기능을 파악하기 위해서 여러 곳을 뒤져봐야 하는 어려움만 주는 것이라고 믿는다고 한다. IoC/DI없이도 손쉽게 해결할 수 있는 문제를 괜히 어렵게 오버엔지니어링 한다는 주장이다.

결국 그 글은 -21점을 받아 답변의 최하위를 차지했는데, 재밌는 것은 어제 이 글을 봤을 때는 -24였다는 것. 그의 글에 반대하는 사람이 더 많기는 하지만 사실은 동감하는 사람도 제법 있다는 것을 알 수 있다.

 

그의 글과 이어지는 여러 사람들의 이야기에 지속적으로 답변을 하고 있는 밥 마틴도 그랬듯이 나도 그의 글의 기본적인 아이디어에는 동의한다. 불필요한 오버엔지니어링, 실제적인 가치는 주지 못하고 개발을 더디게만 만드는 단지 유행하는 기술이나 이론을 무작정 따르지 말고 제때에 고객에게 좋은 제품을 만들어서 전달하는 것이 가장 중요하다는 것은 사실 대부분의 개발자들이 다 동의할 수 있는 것이다. 그래서 사실은 다들 비슷한 목적을 가지고 있다. 그런데 그런 비슷한 얘기를 하면서도 그 방법에 대해서는 다들 제각각 다른 생각을 가지고 있다는 사실이 재밌다.

 

켄트 벡이나 밥 마틴을 비롯한 애자일 진영의 사람들도 모두 "제때에 가치(제품)를 고객에게 전달한다"는 것을 중요한 전체로 놓고 있다. 그리고 그러기 위해서는 이런 저런 방법 또는 원칙을 따라야 한다고 말한다. 예를 들면 TDD를 비롯한 개발자테스트, 단위테스트가 그런 한가지 방법이다. IoC/DI의 선구자인 스프링의 로드 존슨이 가장 강조한 것은 오버엔지니어링을 피하자는 것이다. 핵심에 집중하고 테스트 하기 좋고 빠르게 개발하면선도 품질이 뛰어나게 할 수 있는 단순한 개발을 위해서 IoC/DI가 필요하다는 것이다.

조엘과 같은 사람들은 같은 이야기를 하지만 그딴 것은 다 필요없다고 말한다. 오히려 테스트를 만드는 것은 개발시간을 더디게 하고, 남들 잘 못하는 것을 들고와서 잘난척 하기 좋아하는 사람들의 망상이라는 것이다. IoC/DI에 대해서도 마찬가지 얘기를 한다.

어떻게 같은 목표에 가치를 두고도 이렇게 다른 이야기를 할 수 있을까. 여당이든 야당이든, 시민단체든 모두 "우리는 서민을 위한다"라는 똑같은 주장을 하는 것과 별 다를바 없어 보이기도 한다.

 

물론 가만히 살펴보면 조엘과 같은 사람들의 주장에는 항상 헛점이 있다. 그들은 항상 왜곡되고 극단적인 형태로 비판대상을 몰고간 뒤에 비난을 퍼붓기를 좋아한다. 세상에 과도하게 적용하고 맹목적으로 추종해도 좋은 기술이 뭐가 있을까? 아무리 좋은 가치라도 맹신을 하는 것은 위험하다는 것은 초딩만 아니라면 다 아는 것 아닐까? 그럼에도 그런 함점에 빠지고, 핵심은 모르고 껍데기만 앵무새처럼 떠들고 다니는 사람들이 존재한다는 것을 부인하지는 못하겠다. 하지만 제대로 그 내용과 가치를 알아보지도 않고, 한번 안좋은 인상을 받았다고해서 무조건 비난을 퍼붓는 사람들도 이해하기 힘들다.

물론 그런 비난의 대상이 되는 기술이나 이론의 특징은 "제대로 이해하지 않고는 제대로 쓰기 힘들다"는 단점이 있다. 내가 객체지향언어와 프로그래밍에 대해서 처음 공부한지 20년이 지났고, 그 이론과 언어가 나오고 발전한지는 훨씬 오래됐음에도 아직도 진정한 OO는 십수년 경력을 가진 개발자들 조차도 제대로 그 가치를 누리기 쉽지 않은 기술이다. 디자인패턴과 그 대표적인 패턴의 이름을 모르는 사람은 없지만, 여전히 패턴의 목적과 내용조차도 제대로 기억하고 적용할 줄 모르는 사람들이 대분이다. 개발자테스트가 또 TDD가 궁극적으로 생산성을 높여주고 품질을 뛰어나게 만들어준다는 점에 대해서는 많은 연구와 경험자들의 이야기를 통해서도 충분히 검증된 사실이지만 사실은 그것을 스스로 느낄 수 있는 개발자는 단위테스트라는 것을 만들어본 사람 중에서 극소수일 것이라는 게 그동안 현장에서 느낀 나의 생각이다.

보통 자신은 그것을 제대로 실전에서 꾸준히 적용하지는 않으면서 화려한 이론을 떠들고 다니고 아는 척 하기 좋아하는 사람들이 있는데, 그런 사람들에 의해서 전파된 이런 가치들은 결국 허무하고 피상적으로 느껴지기 쉽다. 자기 손으로 제대로 테스트를 만들어가면서 개발을 해본 경험도 없으면서, 그래서 현장의 개발자들이 어떤 고민을 가지게 될지를 상상하지도 못하면서도 "테스트와 TDD에 관한 뛰어난 강사"라는 인정을 받고 SI 현장에서 컨설팅을 하고 있는 사람도 보았다.

그런 이론과 가치를 극단적으로 과도하게 적용하려는 시도들도 사람들이 반감을 가지게 만드는 이유일 것이다. DB나 외부 파일, 리소스를 건드리거나 하나의 클래스 이상이 참여하는 것은 단위테스트가 아니라고 당당하게 아티클을 올리는 사람들이 그렇다. "TDD는 단지 디자인 기법이다"라고 당당하게 주장해서 켄트 벡을 짜증나게 만들었던 사람들이 그렇다.

결국 그런 피상적인 전파자들과 극단적인 적용, 또는 그 자체가 특정 기업과 개인의 비즈니스에 도움이 되는 것 외에는 정작 아무런 가치를 주지 못하는 이름만 폼나는 기술이 범람하는 탓에 사실은 좋은 가치를 가지는 것들도 도매금으로 같이 공격을 당하는 것이 아닌가 하는 생각도 든다.

 

아무튼 조엘의 글에서 Jamie Zawinski의 입을 빌어서 한 "단위테스트는 제 때에 제품을 출시하는데 도움이 안되는 기술"이라는 비난에 대해서 Clean Code 아저씨인 밥 마틴이 여러차례 테스트에 관해서 글을 올려가며 설명하느라 애쓰고 있다. 이쁜 손녀들도 여럿 있는 나이지만 그 열정만큼은 정말이지 대단하다.

하나하나 빠짐없이 읽어볼만한 좋은 글이다. 코멘트도 살펴보는 것도 재미있다. 물론 반쯤은 비난글이긴 하지만, 그래도 현장의 개발자들은 이런 이야기를 어떻게 받아들이는지 알 수 있을 것이다.

단위테스트에 관한 이슈의 핵심은 "단위테스트는 개발을 지연시키는가?"인듯 하다. TDD옹호자들의 공통적인 주장은 "시간이 지나면 생산성은 더 높게 올라갈 것이고 따라서 전체적인 개발시간은 더 단축될 것이다"이다. 그 이유는 코드의 품질을 높여주고 디버깅에 시간을 소모하지 않게 해주어 그만큼 안정적으로 새로운 기능을 추가하거나 기존 기능을 수정하는 작업을 빠르게 진행할 수 있기 때문이다. 이를 뒷받침해주는 연구들도 여럿 소개되고 있다.

그런데 사실 그런 연구의 결론만 달랑 보았지 구체적인 연구내용이나 기준은 별로 들어본게 없어서 조금 아쉽긴하다. 그러던 중에 최근에 Misko Hevery가 블로그에 자신이 테스트 작성을 해가면서 개발했을 때의 시간과 코드의 양에 대해서 측정한 것을 공개한 것을 보니 흥미롭다.

테스트와 애플리케이션 코드를 모두 해서 15,000라인쯤 되는 것을 개발하면서 시간과 코드의 양을 측정해본 것이다. 전체 코드에서 테스트가 차지하는 비율은 코드 라인수로 볼 때 40%였다. 그렇다면 그 40%에 달하는 테스트를 작성하는데 걸린 시간은 얼마일까? 비슷하게 40% 전후로 나올 것 같지만, 사실은 10%에 불과했다고 한다. 그 이유는 테스트 코드는 애플리케이션 코드에 비해서 각각이 독립적이고 내용이 명확하기 때문에 작성하기 쉽기 때문이라고 한다. 대체로 이상적인 테스트코드 대 애플리케이션 코드의 비율이 1:1 정도로 보았을 때 테스트 코드를 작성하기 때문에 추가되는 시간은 10%가 조금 넘을 뿐이다. 사실은 나머지 90%를 만드는 시간도 테스트를 안만들었을 때보다 훨씬 줄어들엇을 것이 분명하다.

테스트 코드를 안만들고 개발하는 것은 가능할지 몰라도 테스트 자체를 안할 수는 없다. 결국 수동으로 동작시켜가면서 테스트하고, 문제가 생기면 코드를 재차 살펴보고, 또는 디버거를 돌려가며 디버깅하거나, print문을 써서 콘솔에 값을 찍어보는 등의 테스트를 하면서 시간을 충분히 소모한다. 그러면에서 제대로 테스트코드를 만들어가면서 개발하는 것이 개발 시간을 단축시킨다는 것은 일반적으로 맞다.

하지만 왜 많은 사람들이 시도를 해봤으면서도 단위테스트 또는 TDD에 반감을 가지는 것일까? 그것은 대부분의 개발자들은 구글 개발자들에게 테스트와 TDD를 가르칠 수 있는 실력을 가진 Misko Hevery가 아니기 때문이다. 막상 테스트를 작성하려고 하면 막막하다. 테스트나 TDD책에 나온 예제들을 아무리 봐도 DB와 웹을 사용하는 일반적인 현장의 시스템은 어떻게 테스트를 만들어야 하는지 막막한게 정상이다. 테스트를 만드는 기술 자체도 어렵거니와 그것을 자신이 만드는 시스템에 최적화해서 적용하는데도 상당한 실력이 필요하다.

나는 그 갭이 상당히 크다고 생각된다. 그런면에서 여기 저기서 단위테스트가 좋다는 얘기는 듣고, TDD도 해야한다고 배웠고, 심지어 PM이나 매니저들이 맹목적으로 최소 테스트커버리지라도 갑자기 요구했을 때 힘겹게 그것을 시도 해보다가 내상을 입은 사람들도 제법될 것 같다.

예전에 알면서 왜 안할까 – TDD라는 글을 쓴적이 있다. 그때 했던 얘기는 "사람들이 TDD가 좋다고 말하면서도 사실은 마음 속에선 그게 좋다고 생각하지 않기 때문이다"라는 것이다. 정말 좋다고 생각하고 그것을 느꼈다면 하지 말라고 뜯어말려도 몰래 한다. 사람이 담배를 안끊는 이유는, 말로는 "담배가 건강에 해롭지"라고 하지만 정말 해롭다고 생각하지는 않기 때문인 것처럼 진심으로 그것이 필요하다는 것을, 좋다는 것을 모르기 때문에 안할 뿐이다. 물론 오래된 습관이나  환경적인 문제, 하려고 해도 막막해지는 점 등도 그런 것을 방해하는 이유겠지만.

 

얼마전 모 SI업체에서 아키텍트나 프레임워크 개발자들을 대상으로 교육을 한 적이 있다. 그때 한분이 이런 질문을 했다. "팀원들에게 테스트를 만들라고 설득하기가 힘들다. 어떻게 하면 좋냐"라는 것이다. 아무리 화려한 연구결과를 들이밀고 다양한 이론과 논리를 가지고 "테스트가 좋다"라고 설명해봤자 이해하지 못하는 경우가 대부분이다. 억지로 시킬 수는 있지만, 그러면 효과는 커녕 반감만 생긴다.

뭐라고 대답해야 할까 고민하다가 이렇게 이야기 해줬다. "TDD나 테스트를 만드는 것이 얼마나 좋은 것인지 경험시켜주세요". 무작정 모든 개발에 테스트를 적용해라고 강요하기 보다는 테스트를 만들면 피부로 그 장점을 느낄 수 있는 특징을 가진 그런 기능이나 클래스를 개발할 때를 잘 골라서 같이 해보는 것이다. 또는 비교하게 만드는 것이다. 그래서 "아 정말 좋네"라고 스스로 느낄 수 있다면 아마도 그 후로 테스트를 좀 더 진지하게 생각하고 써보려고 할 것이다. 오래전 한 프로젝트에서 나름 난이도가 높은 로직을 구현해야 하는 개발자 한명에게 "본격적인 복잡한 로직이 들어가는 것은 반드시 테스트를 만들어가면서 개발하라"고 지시한 적이 있다. 그리고 얼마 후에 그 개발자가 하는 말이 인상적이었다. "이 번에 적용을 해보고 나니까 테스트가 없었다면 이것을 어떻게 만들었을지 상상이 안된다. 이게 정말 좋은 것이구나~” 아마도 그런 경험이 몇번 쌓이면 자연스럽게 테스트부터 만들고 있는 스스로의 모습을 발견할 수 있게 되지 않을까 싶다.

물론 때로는 스스로 규율을 정해서 훈련할 필요도 있다. 나는 올해 초 목표에 "올해 만드는 모든 코드는 – 단지 HelloWorld라고 할지라도 TDD로 만든다"라는 것을 넣었다. 복잡한 시스템을 개발할 때는 나름 테스트를 열심히 만들어왔지만, 학습을 위해서 간단한 코드를 만들 때는 나도 모르게 코드부터 쓱쓱 만들고 대충 돌려보면서 안돌아가면 디버거나 코드와 씨름하고 있는 모습이 떠올라서, 이것을 습관화 하는 것이 중요하겠다는 생각을 했기 때문이다. 그럼 정말 100%를 그렇게 했을까? 물론 완벽하지는 못했다. 그래도 95%이상은 된 것 같다. 이전보다는 분명히 더 많이, 적어도 새로운 기술을 학습하거나 또는 자바 외의 다른 언어를 가지고 코드를 만들 때도 테스트를 항상 먼저 만드는 습관이 붙은 것은 사실이다. 그덕분에 그만큼 더 자주 그것이 좋다는 것을 느꼈고, 그래서 아마도 앞으로도 테스트를 먼전 만드는 것을 자연스럽게 선택할 것이라고 기대한다.

 

중얼중얼 오늘의 얘기는 여기서 대충 끝.

No related posts.

Facebook comments:

to “동상이몽 – TDD”

  1. Will I get paid for overtime? As a murderous adulterer, Ray Liotta’s eyes are even buggier, which didn’t seem possible.

  2. I’m a trainee High Peak Lodge said it “welcomed” the feedback and stressed that it had adequate numbers of staff on duty, with the CQC commending it for providing “effective and caring support”.

  3. I’d like to order some foreign currency After the 2011 vote the PF partyincreased the public sector wage bill by 50 percent.

  4. I’m at Liverpool University Unfortunately we don’t know when it will arrive in the US, but rumor has it that we should hear an announcement very soon and a release sometime early next month.

  5. We were at school together “We’re working with Brutus to help him adjust to wearing his new prosthetics,” Sasha Foster, CSU’s certified canine rehabilitation therapist said

  6. A law firm A man who had been known for his sunny, outgoing temperament became suddenly sullen, silent and withdrawn

  7. Where do you live? As Dr Stephen Godwin, senior research director at the Planning Shop International, says, “If you're only using it for seven to 10 days, it's a whole lot more difficult to make a profit than on a medicine people have to take every day.”

  8. I quite like cooking In Guinea, the agency is providing psychological support to 60,000 vulnerable children and their families in areas affected by Ebola

  9. We need someone with qualifications “They still have some way to go, to deal with size of battery and power cycle rounds, but if solvable, it’s a very big breakthrough,” he told Reuters

  10. Where do you study? Our first morning was dedicated to our community meet-up, which based on an insider tip, we did a little differently this time around

  11. I love this site intelligence agencies had listened in on phone conversations that Merkel made from a non-encrypted phone.

  12. Did you go to university? “I'm so pleased it's run over Richard because they've chosen a superlative book and he won't have to worry so much financially.”

  13. I’m on work experience “The whole 3D printing industry is on a knife edge – there' so much still to come

  14. We went to university together But the new government’s early moves appear to be setting up a clash with these creditors, who together have lent the country 240 billion euros since 2010.

  15. We’d like to invite you for an interview “We will just have to let the season play out before I can say that because he “wows” me sometimes and then he is just there sometimes.”

  16. I sing in a choir Ofgem has ordered Big Six firms to pay multimillion-pound compensation to customers on top of fines for a string of offences in recent months

  17. Will I be paid weekly or monthly? Watson and Simpson won both fourballs matches at Medinah, beating both opponents on the 14th hole.

  18. I do some voluntary work Fingerprint identification is used as a security measure on both Apple and Samsung devices, and was used to identify voters at polling stations in Brazil's presidential election this year, but it is not considered to be particularly secure, experts say.

  19. I can’t hear you very well Investor looked beyond the family to replace Wallenberg in 1997, appointing Percy Barnevik who had been chief executive of ABB

  20. Could you send me an application form? Professionals from all disciplines should work more closely together and access to palliative care records across all of the teams in contact with patients could help to overcome communications issues.

  21. We’ll need to take up references It’s all there, in that gesture – the lunch time martinis, women in white day gloves and scarlet lipstick, the clouds of cigarette smoke

  22. What’s the interest rate on this account? Healthy people and people with various conditions, such as obesity, heart disease and Parkinson’s disease, were included.

  23. I’d like to send this parcel to The law requires North Dakota pharmacies to be owned by local pharmacists or run by hospitals with a local pharmacist on staff.

  24. Can I call you back? Against the prospect of a potentially messy break-up of the world’s sixth largest economy, the relative calm is eye-opening, whether due to detached calculations about the outcome and risks, or a worrying nonchalance and perhaps even puzzlement.

  25. Special Delivery In times of Yankees turmoil — there was plenty of it — Jeter steered clear of the feeding frenzy

  26. History A high level of fitness reduces the risk for major chronic diseases such as cardiovascular disease, cancer, depression and diabetes,” commented Prof Niall Moyna of the Centre for Preventive Medicine in Dublin City University (DCU).

  27. I’ve come to collect a parcel Since the Israeli government offered tax and otherincentives for investors to put seed money into venture firmsback in 1993, there has been a proliferation in the industry,but few have managed to notch up JVP’s track record.

  28. How do you spell that? If those results were to differ sharply from the bank’s current stance and HSH were to require additional capital, it could pose a grave threat to the finances of its state owners, especially Schleswig-Holstein.

  29. Your account’s overdrawn Meanwhile 25 million children still do not go to school – the largest number of any country in the world

  30. I can’t stand football The Rochester MP tweeted that Medway County Court had struck out the legal claim related to printing costs of leaflets

  31. I’ve been cut off Most analysts are skepticalthat the government will reach its goal given disappointingbudget numbers over the past few months.

  32. I work with computers “Here in Birmingham, we have lobbied extensively – our hope now is the feedback from an impartial organisation such as the NAO means the issues we have been raising will finally be taken seriously at Westminster.”

  33. We need someone with qualifications The draft law agreed late on Tuesday by senior members of Merkel’s three-party “grand coalition” would apply to listed companies which have employee representation on their supervisory boards, affecting more than 100 firms.

  34. Insert your card Mules have made a huge comeback this season and what better way to show off your fresh, spring pedicure than with strappy heels? We can't wait to get our hands on a pair of these sexy shoes and you can too by clicking on the link to the right

  35. I support Manchester United “They let us to start to have a way to bring some higher-level solutions to these rural communities in a way that they can get started to buy into,” he said

  36. I’d like to pay this in, please While many residents of the storied Dakota building have opted to modernize and reconfigure their apartments, Bacall stayed true to the original layouts of the building, which has been home to stars such as Judy Holliday and Roberta Flack.The spacious three-bedroom apartment, at 1 W

  37. Will I get travelling expenses? People have been convinced that the amended law” is anti-farmer,” an article in the website says.

  38. Enter your PIN The ruler finds the adopted Moses more trustworthy than his own flesh and blood, but upon Seti’s death, only Ramses can become pharaoh.

  39. I like watching football It would be too fanciful to suggest that the lions McKenna heard grunting on her first night were sending a greeting to the lady who had made the most famous of their breed immortal

  40. Until August We are speaking about a reasonably compact elevated risk, but it’s an absolute risk that we should really be concerned about.”

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2017 Toby's Epril Suffusion theme by Sayontan Sinha