ui and js improved