added xyjax, single-file version