broke out the ui components to fragments