#3 hills removal
#3 Director.loop code split into functions