update UI functionality