some UI. needs refactoring.