finishing migration to JSD. closes #28. closes #39