cleaning and UI design attempt