updating with work so far. still has recursion bug that I need to work out.