Continue to separate ui from logic