diff --git a/.eslintrc.js b/.eslintrc.js
index ae5bc658e5020bc3c168172de2412f92cd9c5a32..421d9e0ed2488fa04a0373da45614cbba4080bf4 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -11,4 +11,9 @@ module.exports = {
   env: {
     browser: true,
   },
+
+  rules: {
+    'react/prop-types': 0,
+    '@typescript-eslint/explicit-function-return-type': 2,
+  },
 };
diff --git a/src/News.tsx b/src/News.tsx
new file mode 100644
index 0000000000000000000000000000000000000000..fad39baf467f53496c032843d21ead7ee90aedcc
--- /dev/null
+++ b/src/News.tsx
@@ -0,0 +1,24 @@
+import { Grid, Typography } from '@material-ui/core';
+import React from 'react';
+
+interface NewsProps {
+  title: string;
+  content: string;
+  author: string;
+}
+
+const News: React.FC<NewsProps> = ({ title, content, author }) => (
+  <Grid container direction="column">
+    <Grid item>
+      <Typography variant="h6">{title}</Typography>
+    </Grid>
+    <Grid item>
+      <p>{content}</p>
+    </Grid>
+    <Grid item container justify="flex-end">
+      <Typography>{author}</Typography>
+    </Grid>
+  </Grid>
+);
+
+export default News;
diff --git a/src/core/components/Footer.tsx b/src/core/components/Footer.tsx
index 000b6629c5ecc9bc2ac55a025aefdac03f0692b1..23bc3e2fab51c1e4464a64ba5d630da394961d41 100644
--- a/src/core/components/Footer.tsx
+++ b/src/core/components/Footer.tsx
@@ -1,5 +1,5 @@
 import React from 'react';
 
-const Footer = () => <div>Footer</div>;
+const Footer: React.FC = () => <div>Footer</div>;
 
 export default Footer;
diff --git a/src/core/components/Header.tsx b/src/core/components/Header.tsx
index 11ab0b6937a7686ab6ed43ab54b8bf72f824ca90..58490bd4d8b55bd201e93602a7d4f2640681cdfb 100644
--- a/src/core/components/Header.tsx
+++ b/src/core/components/Header.tsx
@@ -1,5 +1,5 @@
 import React from 'react';
 
-const Header = () => <div>Header</div>;
+const Header: React.FC = () => <div>Header</div>;
 
 export default Header;