refactored ui and it's data objects.