Code samples taken from CleanCode book