add ui & add logic