This is article 4 using the OOP structure:
https://1drv.ms/b/s!AnmqNbk0QgkYgP8GXJZCbKa_Dq9LzA?e=MXoSUq
I might rewrite definitions and functions in a more structural way. This article is based on the idea that each object (in OOP) is a type of dimension, the combination of those objects constructs elements of that space.