Move to full JavaScript