added thoughts and beginning of solution.