optimization + ui changes