Added Unit Tests to help explain predicament. Not for prod release yet !!