added a lot of UI