part 1 done and debugged.