Initial tests seem to work.
Modify the print function to add arrows.