more progress, plain js is broken