single responsibility principle - Learn Driven Development