Work in progress.  Added testing