wip. packageJS, fastOptJS and fullOptJS work. tests pass.