added ui and data models