more ui styling and logic