add a test runner

its not great and requires you to comment out the private scoping.
but it works
fix implementation of assembleJSON. remove comments