added soy2js compiler
revert if necessary