Works with good code. Didn't test it and still need to add Error-Handling