Decomposition form
Working form
Tweak form output
More tweaks.. .
Tweaks to the output again