finished most of ui, consider removing some functions, short on time.