Checkpoint on the rewrite
Added small helper, rewriting to clean up a bit
Some slight reformatting
Rename 'arguments' to 'parameters' to avoid confusion