more separation, esp .js