diff --git a/frontend/src/components/profile/changePassword.js b/frontend/src/components/profile/changePassword.js
new file mode 100644
index 0000000..13dd678
--- /dev/null
+++ b/frontend/src/components/profile/changePassword.js
@@ -0,0 +1,148 @@
+import React, { useEffect } from 'react';
+import Typography from '@material-ui/core/Typography';
+import Grid from '@material-ui/core/Grid';
+import Button from '@material-ui/core/Button';
+import TextField from '@material-ui/core/TextField';
+import LoginFeedback from '../login/loginfeedback';
+import Box from '@material-ui/core/Box';
+
+export default function ChangePassword(props) {
+ const url = "/simcompanies/API/user/setpassword"
+ const [password, setPassword] = React.useState("");
+ const [passwordNew, setPasswordNew] = React.useState("");
+ const [passwordNew2, setPasswordNew2] = React.useState("");
+ const [disabled, setDisabled] = React.useState(false);
+ const [error, setError] = React.useState(false);
+ const [statusText, setStatusText] = React.useState(null);
+ const [status, setStatus] = React.useState(null);
+
+ const postSetPassword = async (url, data) => {
+
+ const response = await fetch(url, {
+ method: 'POST',
+ mode: 'cors',
+ cache: 'no-cache',
+ headers: {
+ 'Content-Type': 'application/json'
+ },
+ redirect: 'follow',
+ referrerPolicy: 'no-referrer',
+ body: JSON.stringify(data)
+ });
+
+ const text = await response.text()
+ await setStatusText(text)
+ setStatus(response.status)
+ setDisabled(false)
+ setTimeout(() => { setStatus(null) }, 2000)
+ }
+
+ const handleClick = (e) => {
+
+ if (passwordNew !== "" && password !== "" && passwordNew2 === passwordNew) {
+ setDisabled(true)
+ postSetPassword(url, { oldpassword: password, newpassword: passwordNew })
+
+ setPassword("")
+ setPasswordNew("")
+ setPasswordNew2("")
+ }
+ }
+
+ const handleKeyDown = (e) => {
+ if (e.key === "Enter") {
+ if (passwordNew !== "" && password !== "" && passwordNew2 === passwordNew) {
+ setDisabled(true)
+ postSetPassword(url, { oldpassword: password, newpassword: passwordNew })
+
+ setPassword("")
+ setPasswordNew("")
+ setPasswordNew2("")
+ }
+ }
+ }
+ useEffect(() => {
+ if (passwordNew2 === passwordNew) {
+ setError(false)
+ } else {
+ setError(true)
+ }
+ }, [passwordNew, passwordNew2, setError])
+
+ const handleChangePWNew = (e) => {
+ setPasswordNew(e.target.value)
+ }
+ const handleChangePWNew2 = (e) => {
+ setPasswordNew2(e.target.value)
+ }
+ const handleChangePW = (e) => {
+ setPassword(e.target.value)
+ }
+ return (
+