This is currently broken, but a starting point for further work.
These will be useful later
Still need to implement lines to the individual parts