refactored pattern sixteen
more refactorings
added pattern thirty five