diff --git a/my-app/src/App.js b/my-app/src/App.js
index 364b860985298851a8a38ef52ac289d694a512bd..bf5069ab5d20680996f03330a3efd7083db582c7 100644
--- a/my-app/src/App.js
+++ b/my-app/src/App.js
@@ -7,7 +7,6 @@ import UserManagement from './components/UserManagement';
 import CreateNewUserForm from './components/CreateNewUser';
 import { connect } from 'react-redux';
 import { Routes, Route, Navigate } from 'react-router-dom';
-import EditUser from './components/EditUser';
 
 
 const mapStateToProps = state => {
@@ -25,7 +24,6 @@ class App extends Component {
           <Route path="/" element={<PrivatePage />}></Route>
           <Route exact path="/userManagement" element={<UserManagement />}></Route>
           <Route path='/createNewUserForm' element={<CreateNewUserForm />}></Route>
-          <Route path='/editUserForm' element={<EditUser />}></Route>
           <Route path='*' element={<Navigate to="/" />}></Route>
         </Routes>
     } else {
diff --git a/my-app/src/actions/UserManagementActions.js b/my-app/src/actions/UserManagementActions.js
index 2e5c7db88a33b440d731e15657c88b0a9e50c210..74c27d23234bf38cd2e1165de81000ee943fb684 100644
--- a/my-app/src/actions/UserManagementActions.js
+++ b/my-app/src/actions/UserManagementActions.js
@@ -78,16 +78,14 @@ export function getCreateNewUserErrorAction(error) {
 export function getEditUserSuccessAction(editUserData) {
     console.log("GetEditUserSuccessAction")
     return {
-        type: EDIT_USER_SUCCESS,
-        editUserData: editUserData
+        type: EDIT_USER_SUCCESS
     }
 }
 
-export function getEditUserErrorAction(editUserData) {
+export function getEditUserErrorAction() {
     console.log("GetEditUserSuccessAction")
     return {
-        type: EDIT_USER_ERROR,
-        editUserData: editUserData
+        type: EDIT_USER_ERROR
     }
 }
 
@@ -116,16 +114,21 @@ export function displayUsers(token) {
     }
 }
 
-export function editingUserWithID(userID, token) {
+export function editUserWithID(updateData, userID, token) {
     console.log("editing user")
 
     return dispatch => {
         dispatch(getEditUserSuccessAction());
-        getOneUser(userID, token)
+        updateUser(updateData, userID, token)
             .then(user => {
                 console.log(user)
                 const action = getEditUserSuccessAction(user)
                 dispatch(action);
+                getAllUsers(token)
+                    .then(users => {
+                        const action = getAllUsersAction(users)
+                        dispatch(action)
+                    })
             },
                 error => {
                     dispatch(getEditUserErrorAction(error));
@@ -279,3 +282,28 @@ export function deleteUser(userID, token) {
         })
 }
 
+
+export function updateUser(updateData, userID, token) {
+    console.log("updating user with id: " + userID)
+    console.log(userID)
+    console.log(updateData)
+    const requestOptions = {
+        method: 'PUT',
+        headers: {
+            'Authorization': token,
+            'Content-Type': 'application/json'
+        },
+        body: JSON.stringify(updateData)
+    }
+
+    return fetch(`https://localhost/api/users/${userID}`, requestOptions)
+        .then(response => {
+            console.log(response)
+            return response.json().then(body => {
+                if (response.status === 200) {
+                    console.log(body)
+                    return body
+                }
+            })
+        })
+}
diff --git a/my-app/src/components/CreateNewUser.js b/my-app/src/components/CreateNewUser.js
index bd98e665f7a331fd0fe5599826fab6da3e7a4482..a3c3d97a89d5cebf5cd1dd806e6527dcc7261c7e 100644
--- a/my-app/src/components/CreateNewUser.js
+++ b/my-app/src/components/CreateNewUser.js
@@ -1,6 +1,7 @@
 import React, { Component } from "react";
 import Form from 'react-bootstrap/Form';
 import Nav from 'react-bootstrap/Nav';
+import Button from "react-bootstrap/esm/Button";
 
 import { connect } from "react-redux";
 import { LinkContainer } from "react-router-bootstrap";
@@ -40,11 +41,12 @@ class CreateNewUserForm extends Component {
         console.log(JSON.stringify(this.state))
     }
 
-    handleSubmit(e) {
+    async handleSubmit(e) {
         e.preventDefault();
         const { createNewUserAction } = this.props;
-        createNewUserAction(this.state, this.props.accessToken)
         console.log("user sollte angelegt werden")
+        this.props.goBack()
+        await createNewUserAction(this.state, this.props.accessToken)
     }
 
     render() {
@@ -77,14 +79,9 @@ class CreateNewUserForm extends Component {
                     <Form.Group className="mb-3">
                         <Form.Check id="CreateUserComponentEditIsAdministrator" name="isAdministrator" type="checkbox" label="Administrator-Rechte" onChange={this.handleChange} />
                     </Form.Group>
-                    <LinkContainer id="CreateUserComponentCreateUserButton" to="/userManagement">
-                        <Nav.Link id="CreateUserComponentCreateUserButton" >
-                            {/* <Button id="CreateUserComponentCreateUserButton" variant="primary" type="submit" onClick={this.handleSubmit}>
-                                Anlegen
-                            </Button> */}
-                            Anlegen
-                        </Nav.Link>
-                    </LinkContainer>
+                    <Button id="CreateUserComponentCreateUserButton" variant="primary" type="submit" onClick={this.handleSubmit}>
+                        Anlegen
+                    </Button>
                 </Form>
             </div >
         )
diff --git a/my-app/src/components/EditUser.js b/my-app/src/components/EditUser.js
index bc691f8ac760c57aea403a6615c5a1ef7477510d..3761259009243906bef1f8ad8cc0d4075f0dc8c3 100644
--- a/my-app/src/components/EditUser.js
+++ b/my-app/src/components/EditUser.js
@@ -1,15 +1,59 @@
 import React, { Component } from "react";
 import Button from 'react-bootstrap/Button';
 import Form from 'react-bootstrap/Form';
+import { connect } from "react-redux";
+import { bindActionCreators } from "redux";
+
+import * as userManagementActions from '../actions/UserManagementActions'
+
+const mapStateToProps = state => {
+    return state;
+}
 
 class EditUser extends Component {
+
+    constructor(props) {
+        super(props);
+        this.state = {
+            userID: '',
+            firstName: '',
+            lastName: '',
+            password: '',
+            isAdministrator: this.props.editUser.isAdministrator
+        }
+        this.handleChange = this.handleChange.bind(this);
+        this.handleSubmit = this.handleSubmit.bind(this);
+    }
+
+    handleChange(e) {
+        const { name, value } = e.target;
+        if (name === 'isAdministrator') {
+            if (e.target.checked) {
+                this.setState({ [name]: true })
+            } else {
+                this.setState({ [name]: false })
+            }
+        } else {
+            this.setState({ [name]: value })
+        }
+        console.log(JSON.stringify(this.state))
+    }
+
+    handleSubmit(e) {
+        e.preventDefault()
+        const { editUserWithIDAction } = this.props
+        editUserWithIDAction(this.state, this.props.editUser.userID, this.props.accessToken)
+    }
+
+
+
     render() {
         return (
             <div id="UserManagementPageEditComponent" style={{ display: 'flex', justifyContent: 'center', textAlign: 'left' }}>
                 <Form style={{ width: '60rem' }}>
                     <Form.Group className="mb-3">
                         <Form.Label>User-ID</Form.Label>
-                        <Form.Control id="EditUserComponentEditUserID" type="text" disabled="true" />
+                        <Form.Control name="userID" id="EditUserComponentEditUserID" type="text" disabled={true} defaultValue={this.props.editUser.userID} />
                         <Form.Text className="text-muted">
                             Die User-ID kann nicht geändert werden.
                         </Form.Text>
@@ -17,32 +61,40 @@ class EditUser extends Component {
 
                     <Form.Group className="mb-3">
                         <Form.Label>Vorname</Form.Label>
-                        <Form.Control id="EditUserComponentEditFirstName" type="text" placeholder="Bitte Vornamen eingeben" />
+                        <Form.Control name="firstName" id="EditUserComponentEditFirstName" type="text" placeholder="Bitte Vornamen eingeben" defaultValue={this.props.editUser.firstName} onChange={this.handleChange} />
                     </Form.Group>
 
                     <Form.Group className="mb-3">
                         <Form.Label>Nachname</Form.Label>
-                        <Form.Control id="EditUserComponentEditLastName" type="text" placeholder="Bitte Nachnamen eingeben" />
+                        <Form.Control name="lastName" id="EditUserComponentEditLastName" type="text" placeholder="Bitte Nachnamen eingeben" defaultValue={this.props.editUser.lastName} onChange={this.handleChange} />
                     </Form.Group>
 
-                    <Form.Group className="mb-3" controlId="formBasicPassword">
+                    <Form.Group className="mb-3">
                         <Form.Label>Passwort</Form.Label>
-                        <Form.Control id="EditUserComponentEditPassword" type="password" placeholder="Bitte Passwort eingeben" />
+                        <Form.Control name="password" id="EditUserComponentEditPassword" type="password" placeholder="Passwort" onChange={this.handleChange} />
                         <Form.Text className="text-muted">
                             Wenn das Passwort gesetzt wird, wird es im Backend geändert!
                         </Form.Text>
                     </Form.Group>
 
-                    <Form.Group className="mb-3" controlId="formBasicCheckbox">
-                        <Form.Check id="EditUserComponentEditIsAdministrator" type="checkbox" label="Administrator-Rechte" style={{color: '#0eb30e'}} />
+                    <Form.Group className="mb-3">
+                        <Form.Check name="isAdministrator" id="EditUserComponentEditIsAdministrator" type="checkbox" label="Administrator-Rechte" style={{ color: '#0eb30e' }} defaultChecked={this.props.editUser.isAdministrator} />
                     </Form.Group>
-                    <Button id="OpenUserManagementPageListComponentButton" variant="primary" type="submit">
+                    <Button id="OpenUserManagementPageListComponentButton" variant="primary" type="submit" onClick={this.handleSubmit}>
                         Speichern
                     </Button>
+                    <Button id="backToList" variant="primary" type="submit" onClick={this.props.goBack}>
+                        User-Liste
+                    </Button>
                 </Form>
             </div >
         )
     }
 }
 
-export default EditUser
\ No newline at end of file
+const mapDispatchToProps = dispatch => bindActionCreators({
+    editUserWithIDAction: userManagementActions.editUserWithID
+}, dispatch)
+
+const ConnectedEditUser = connect(mapStateToProps, mapDispatchToProps)(EditUser)
+export default ConnectedEditUser
\ No newline at end of file
diff --git a/my-app/src/components/UserItem.js b/my-app/src/components/UserItem.js
index ade9a608afd7e730dc82108ec46a06118a620280..7d143f03f8fa646ed28801d1858af8a27964d931 100644
--- a/my-app/src/components/UserItem.js
+++ b/my-app/src/components/UserItem.js
@@ -6,6 +6,9 @@ import { connect } from "react-redux";
 import { bindActionCreators } from "redux";
 import DeleteUserModal from './DeleteUserModal'
 import EditUser from './EditUser'
+import CreateNewUser from './CreateNewUser'
+import { LinkContainer } from "react-router-bootstrap";
+import Nav from 'react-bootstrap/Nav';
 
 
 import * as userManagementActions from '../actions/UserManagementActions'
@@ -16,7 +19,8 @@ const mapStateToProps = state => {
 
 const DISPLAY = {
     LIST: "list",
-    EDIT: "edit"
+    EDIT: "edit",
+    CREATE: "create"
 }
 
 class UserItem extends Component {
@@ -29,6 +33,8 @@ class UserItem extends Component {
         this.MapAllUsers = this.MapAllUsers.bind(this);
         this.handleShowDeleteModal = this.handleShowDeleteModal.bind(this);
         this.handleClose = this.handleClose.bind(this);
+        this.handleSwitchToList = this.handleSwitchToList.bind(this);
+        this.handleShowCreatePage = this.handleShowCreatePage.bind(this);
     }
 
     handleShowDeleteModal(e, dialogModalData) {
@@ -37,16 +43,25 @@ class UserItem extends Component {
         showDeleteUserModalAction(dialogModalData)
     }
 
-    handleShowEditPage(e, userID) {
+    handleShowEditPage(e) {
         e.preventDefault();
         this.setState({ displayingPage: DISPLAY.EDIT })
     }
 
+    handleShowCreatePage(e) {
+        e.preventDefault();
+        this.setState({ displayingPage: DISPLAY.CREATE })
+    }
+
     handleClose() {
         const { hideDeleteUserModalAction } = this.props;
         hideDeleteUserModalAction();
     }
 
+    handleSwitchToList(e) {
+        this.setState({ displayingPage: DISPLAY.LIST })
+    }
+
     MapAllUsers() {
         const allUsers = this.props.userList
         if (allUsers) {
@@ -71,26 +86,28 @@ class UserItem extends Component {
                 switch (this.state.displayingPage) {
                     case DISPLAY.LIST:
                         return (
-                        <div key={user.userID}>
-                            <DeleteUserModal />
-                            <Card style={{ width: "18rem", background: '#ebebeb' }} id={itemID}>
-                                <Card.Header>{user.firstName} {user.lastName}</Card.Header>
-                                <ListGroup variant="flush">
-                                    <ListGroup.Item >User ID: {user.userID}</ListGroup.Item>
-                                    <ListGroup.Item >First Name: {user.firstName}</ListGroup.Item>
-                                    <ListGroup.Item >Last Name: {user.lastName}</ListGroup.Item>
-                                </ListGroup>
-                                <Card.Footer style={{ display: 'flex', justifyContent: 'space-evenly' }}>
-                                    <Button variant="primary" onClick={(e) => this.handleShowEditPage(e, currentUserID)} id={editButtonID} >Edit</Button>
-                                    <Button variant="primary" type="submit" onClick={(e) => this.handleShowDeleteModal(e, dialogData)} id={deleteButtonID} style={{ background: '#ffc800', color: 'black', border: 'none' }}>
-                                        Delete
-                                    </Button>
-                                </Card.Footer>
-                            </Card>
-                        </div>
+                            <div key={user.userID}>
+                                <DeleteUserModal />
+                                <Card style={{ width: "18rem", background: '#ebebeb' }} id={itemID}>
+                                    <Card.Header>{user.firstName} {user.lastName}</Card.Header>
+                                    <ListGroup variant="flush">
+                                        <ListGroup.Item >User ID: {user.userID}</ListGroup.Item>
+                                        <ListGroup.Item >First Name: {user.firstName}</ListGroup.Item>
+                                        <ListGroup.Item >Last Name: {user.lastName}</ListGroup.Item>
+                                    </ListGroup>
+                                    <Card.Footer style={{ display: 'flex', justifyContent: 'space-evenly' }}>
+                                        <Button variant="primary" onClick={(e) => this.handleShowEditPage(e, currentUserID)} id={editButtonID} >Edit</Button>
+                                        <Button variant="primary" type="submit" onClick={(e) => this.handleShowDeleteModal(e, dialogData)} id={deleteButtonID} style={{ background: '#ffc800', color: 'black', border: 'none' }}>
+                                            Delete
+                                        </Button>
+                                    </Card.Footer>
+                                </Card>
+                            </div>
                         )
                     case DISPLAY.EDIT:
-                        return (<EditUser />)
+                        return (<EditUser goBack={this.handleSwitchToList} editUser={user} />)
+                    case DISPLAY.CREATE:
+                        return (<CreateNewUser goBack={this.handleSwitchToList} />)
                     default:
                         return null
                 }
@@ -101,7 +118,10 @@ class UserItem extends Component {
 
     render() {
         return (
-            <div>
+            <div >
+                <Button onClick={this.handleShowCreatePage}>
+                    <img alt="Add-User-Button" src="https://cdn.icon-icons.com/icons2/933/PNG/512/round-add-button_icon-icons.com_72595.png" style={{ width: '2rem' }}></img>
+                </Button>
                 {this.MapAllUsers()}
             </div>
         )
@@ -110,8 +130,7 @@ class UserItem extends Component {
 
 const mapDispatchToProps = dispatch => bindActionCreators({
     showDeleteUserModalAction: userManagementActions.getShowDeleteUserModalAction,
-    hideDeleteUserModalAction: userManagementActions.getHideDeleteUserModalAction,
-    passEditUserData: userManagementActions.editingUserWithID
+    hideDeleteUserModalAction: userManagementActions.getHideDeleteUserModalAction
 }, dispatch)
 
 const ConnectedUserItems = connect(mapStateToProps, mapDispatchToProps)(UserItem)
diff --git a/my-app/src/components/UserManagement.js b/my-app/src/components/UserManagement.js
index 92f843097be071818e1e29b2dd63587c60ed8ff7..49a9bbc730e95c907bce4d283cabd9c650acceb6 100644
--- a/my-app/src/components/UserManagement.js
+++ b/my-app/src/components/UserManagement.js
@@ -1,16 +1,13 @@
 import React, { Component } from "react";
 import UserItem from "./UserItem";
-import { LinkContainer } from "react-router-bootstrap";
-import Nav from 'react-bootstrap/Nav';
+
 
 class UserManagement extends Component {
     render() {
         return (
             <div>
                 <div id="userManagementPage" style={{ height: '50vw', backgroundColor: '#2b3648', padding: '10rem', display: 'flex', justifyContent: 'center' }}>
-                    <LinkContainer to="/createNewUserForm" id="UserManagementPageCreateComponent">
-                        <Nav.Link><img alt="Add-User-Button" src="https://cdn.icon-icons.com/icons2/933/PNG/512/round-add-button_icon-icons.com_72595.png" style={{ width: '2rem' }}></img></Nav.Link>
-                    </LinkContainer>
+                    
                     <UserItem />
                 </div>
             </div>