overhauled the structure of the UI
merged