Part 4 in progress

- Notes: need to sort out array handling.