Mostly completed part 1 I think.