Lied.  Now final.  Did some more function refactoring