Seperate view components, add modals