UI code will be in a separate file