improve frontend