part 5 done + cleaned up