split test UI into files, more JS interactivity