reworking the whole ui