fairly large ui update