week 06 done... code kinda not optimal to my taste, but working
efficiently :) all implemented recursively