Moved components into separate files