Implemented filepath.walk, removed the repeated mess/nonsense, moved everything over to use 'traverse'... I may change name
name changed