Refactored according to 'method first' paradigm
Changed depth to difficulty