der code wurde optimiert und lesbarer gemacht (in funktionen aufgeteilt)