ppk on JavaScript by P. Koch & Peter-Paul Koch