REA technical exercise example.
Code is for demonstration purposes only and is  not designed to be robust.