start to take care of UI
refactor