separated the UI component into it's own project.