diff --git a/lib/zhvlib/Math.cc b/lib/zhvlib/Math.cc
new file mode 100644
index 0000000..b600910
--- /dev/null
+++ b/lib/zhvlib/Math.cc
@@ -0,0 +1,55 @@
+/*
+ * Copyright (c) 2024 - Nathanne Isip
+ * This file is part of Zhivo.
+ *
+ * Zhivo is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation, either version 3 of the License,
+ * or (at your option) any later version.
+ *
+ * Zhivo is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Zhivo. If not, see .
+ */
+
+#include "zhvlib/Math.hpp"
+
+#include
+#include
+
+ZHIVO_FUNC(math_cos) {
+ if(args.size() != 1)
+ throw std::runtime_error("Expecting only 1 argument.");
+
+ DynamicObject value = args.at(0);
+ if(!value.isNumber())
+ throw std::runtime_error("Argument type is not of number.");
+
+ return DynamicObject(cos(value.getNumber()));
+}
+
+ZHIVO_FUNC(math_sin) {
+ if(args.size() != 1)
+ throw std::runtime_error("Expecting only 1 argument.");
+
+ DynamicObject value = args.at(0);
+ if(!value.isNumber())
+ throw std::runtime_error("Argument type is not of number.");
+
+ return DynamicObject(sin(value.getNumber()));
+}
+
+ZHIVO_FUNC(math_tan) {
+ if(args.size() != 1)
+ throw std::runtime_error("Expecting only 1 argument.");
+
+ DynamicObject value = args.at(0);
+ if(!value.isNumber())
+ throw std::runtime_error("Argument type is not of number.");
+
+ return DynamicObject(tan(value.getNumber()));
+}
diff --git a/lib/zhvlib/Math.hpp b/lib/zhvlib/Math.hpp
new file mode 100644
index 0000000..dca610f
--- /dev/null
+++ b/lib/zhvlib/Math.hpp
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2024 - Nathanne Isip
+ * This file is part of Zhivo.
+ *
+ * Zhivo is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published
+ * by the Free Software Foundation, either version 3 of the License,
+ * or (at your option) any later version.
+ *
+ * Zhivo is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Zhivo. If not, see .
+ */
+
+#ifndef ZHIVO_STDLIB_MATH_CC
+#define ZHIVO_STDLIB_MATH_CC
+
+#include "ZhivoLibrary.hpp"
+
+ZHIVO_LIB_START
+
+ZHIVO_FUNC(math_cos);
+ZHIVO_FUNC(math_sin);
+ZHIVO_FUNC(math_tan);
+
+ZHIVO_LIB_END
+
+#endif