diff --git a/src/context.tsx b/src/context.tsx
new file mode 100644
index 0000000..0d7fd14
--- /dev/null
+++ b/src/context.tsx
@@ -0,0 +1,38 @@
+import React, { createContext, Dispatch, SetStateAction, useState } from 'react'
+
+type CalendarContextStateT = {
+  month: number
+  year: number
+  firstDayOfMonth: number
+  lastDayOfMonth: number
+  numberOfDays: number
+}
+
+type CalendarContextT = {
+  state: CalendarContextStateT
+  setState?: Dispatch<SetStateAction<CalendarContextStateT>>
+}
+
+const initialCalendarContextState: CalendarContextStateT = {
+  month: 1,
+  year: 1,
+  firstDayOfMonth: 0,
+  lastDayOfMonth: 0,
+  numberOfDays: 0,
+}
+
+export const CalendarContext = createContext<CalendarContextT>({
+  state: initialCalendarContextState,
+})
+
+export const CalendarProvider: React.FC = ({ children }) => {
+  const [state, setState] = useState<CalendarContextStateT>(
+    initialCalendarContextState
+  )
+
+  return (
+    <CalendarContext.Provider value={{ state, setState }}>
+      {children}
+    </CalendarContext.Provider>
+  )
+}
diff --git a/src/index.tsx b/src/index.tsx
index 8cd9fb8..ec3932e 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,7 +1,12 @@
-import * as React from "react";
+import React from 'react'
+import { CalendarProvider as CalendarContextProvider } from './context'
 
 const Calendar: React.FC = () => {
-  return <div>Calendar</div>;
-};
+  return (
+    <CalendarContextProvider>
+      <div></div>
+    </CalendarContextProvider>
+  )
+}
 
-export default Calendar;
+export default Calendar