broke React components into separate jsx files for clarity