diff --git a/.gitignore b/.gitignore
index 832eebea4f618038fc3bf11fbb80df41b37557a7..5b257ed3bd8f83d417ce7497dac99bbe864080de 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,6 +25,5 @@ log
 
 # https://stackoverflow.com/questions/5533050/gitignore-exclude-folder-but-include-specific-subfolder
 # you can skip this first one if it is not already excluded by prior patterns
-!.idea/
 .idea/*
-!.idea/runConfiguration/
\ No newline at end of file
+!.idea/runConfigurations/
\ No newline at end of file
diff --git a/.idea/runConfigurations/OBSW_UdpClient_Listener_Mode_Serial.xml b/.idea/runConfigurations/OBSW_UdpClient_Service_9_Serial.xml
similarity index 68%
rename from .idea/runConfigurations/OBSW_UdpClient_Listener_Mode_Serial.xml
rename to .idea/runConfigurations/OBSW_UdpClient_Service_9_Serial.xml
index 8a7cb549c19d51e05fc38855876977668fc6cdd5..12e291875dd5ada9421fdfbf34e7c4fda6202ed5 100644
--- a/.idea/runConfigurations/OBSW_UdpClient_Listener_Mode_Serial.xml
+++ b/.idea/runConfigurations/OBSW_UdpClient_Service_9_Serial.xml
@@ -1,5 +1,5 @@
 <component name="ProjectRunConfigurationManager">
-  <configuration default="false" name="OBSW_UdpClient Listener Mode Serial" type="PythonConfigurationType" factoryName="Python" folderName="Serial Communication">
+  <configuration default="false" name="OBSW_UdpClient Service 9 Serial" type="PythonConfigurationType" factoryName="Python" folderName="Serial Communication">
     <module name="tmtc" />
     <option name="INTERPRETER_OPTIONS" value="" />
     <option name="PARENT_ENVS" value="true" />
@@ -12,10 +12,10 @@
     <option name="ADD_CONTENT_ROOTS" value="true" />
     <option name="ADD_SOURCE_ROOTS" value="true" />
     <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
-    <option name="SCRIPT_NAME" value="C:\Users\Robin\NoSyncDokumente\sourceobsw\tmtc\OBSW_TmTcClient.py" />
-    <option name="PARAMETERS" value="-m 1 -c 1" />
+    <option name="SCRIPT_NAME" value="$PROJECT_DIR$/OBSW_TmTcClient.py" />
+    <option name="PARAMETERS" value="-m 3 -s 9 -p -c 1" />
     <option name="SHOW_COMMAND_LINE" value="false" />
-    <option name="EMULATE_TERMINAL" value="false" />
+    <option name="EMULATE_TERMINAL" value="true" />
     <option name="MODULE_MODE" value="false" />
     <option name="REDIRECT_INPUT" value="false" />
     <option name="INPUT_FILE" value="" />
diff --git a/.idea/runConfigurations/OBSW_UdpClient_Software_Serial.xml b/.idea/runConfigurations/OBSW_UdpClient_Software_Serial.xml
index 038b19c628df0abad659dcfb86736f7c458799ad..d5df69de126d841fb996447f952f2593ee8c8911 100644
--- a/.idea/runConfigurations/OBSW_UdpClient_Software_Serial.xml
+++ b/.idea/runConfigurations/OBSW_UdpClient_Software_Serial.xml
@@ -12,8 +12,8 @@
     <option name="ADD_CONTENT_ROOTS" value="true" />
     <option name="ADD_SOURCE_ROOTS" value="true" />
     <EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
-    <option name="SCRIPT_NAME" value="C:\Users\Robin\NoSyncDokumente\sourceobsw\tmtc\OBSW_TmTcClient.py" />
-    <option name="PARAMETERS" value="-m 4 -p -c 1" />
+    <option name="SCRIPT_NAME" value="$PROJECT_DIR$/OBSW_TmTcClient.py" />
+    <option name="PARAMETERS" value="-m 4 -p -c 1 --hk" />
     <option name="SHOW_COMMAND_LINE" value="false" />
     <option name="EMULATE_TERMINAL" value="false" />
     <option name="MODULE_MODE" value="false" />
diff --git a/README.md b/README.md
index 600d039d626644ad51857a65fddf6c22717a6d81..bb3eef2e8f277f8362341104c30101bae60695f9 100644
--- a/README.md
+++ b/README.md
@@ -5,38 +5,49 @@ TMTC Client
 Manual installation of crcmod might be needed
  1. Install pip if it is not installed yet
  2. Install crcmod and all other reqiored packages:
-    Command: pip install crcmod
+    Command: python<version> -m pip<version> install crcmod
     or use IDE (interpreter settings -> pip in PyCharm)
 
 ## How To Use
 The script can be used by specifying command line parameters.
 Please run this script with the -h flag
-or without any command line parameters to display options. GUI is work-in-progress
+or without any command line parameters to display options. 
+
+GUI is work-in-progress.
 It might be necessary to set board or PC IP address if using ethernet communication.
 Default values should work normally though.
 
+## Examples
 Example command to test service 17,
 assuming no set client IP (set manually to PC IP Address if necessary) and default board IP 169.254.1.38:
-```sh
-OBSW_UdpClient.py -m 3 -s 17
+```shell script
+OBSW_TmTcClient.py -m 3 -s 17
 ```
 Example to run Unit Test:
-```sh
-OBSW_UdpClient.py -m 5
+```shell script
+OBSW_TmTcClient.py -m 5
+```
+Example to test service 3 with serial communication, printing all housekeeping packets,
+and exporting to a log file. COM port needs to be typed in manually (or set with --COM \<COM PORT>):
+```shell script
+OBSW_TmTcClient.py -m 3 -s 3 -p --hk -c 
 ```
 
+## Modes
 There are four different Modes:
 1. GUI Mode (-m 0): Experimental mode, also called if no input parameter are specified
 2. Listener Mode (-m 1): Only Listen for incoming TM packets
-3. SingleCommandMode: Send Single Command repeatedly until answer is received,
-only listen after that
-4. ServiceTestMode: Send all Telecommands belonging to a certain service
+3. SingleCommandMode (-m 2): Send Single Command repeatedly until answer is received,
+only listen after that. Single command needs to be packed (see function below main())
+4. ServiceTestMode (-m 3): Send all Telecommands belonging to a certain service
 and scan for replies for each telecommand. Listen after that
-5. SoftwareTestMode: Send all services and perform reply scanning like mode 3.
+5. SoftwareTestMode (-m 4): Send all services and perform reply scanning like mode 3.
 Listen after that
-6. Unit Test Mode: Performs a unit test which returns a simple OK or NOT OK. This mode
+6. Unit Test Mode (-m 5): Performs a unit test which returns a simple OK or NOT OK. This mode
 has the capability to send TCs in bursts, where applicable
 
+In sequential mode, the Client listens for a specified time before sending the next
+telecommand. This time has a default value but can be set with the -t parameter (e.g. -t 12).
 The TC timeout factor is mulitplied with the TM timeout to specifiy
 when a TC is sent again, if no reply is received. 
 
@@ -48,4 +59,16 @@ Please ensure that python.exe UDP packets are not blocked in advanced firewall s
 and create a rule to allow packets from port 2008.
 
 ## Serial Communication
-Work-In-Progress
\ No newline at end of file
+Implemented.
+
+## Unit Test
+Some more information will follow on how to write Unit Tests.
+
+## Import run configurations in PyCharm
+The PyCharm IDE can be used to comfortably manage a set of run configuations (for example tests for different
+services). These configurations were shared through the version control system Git
+ and should be imported automatically. If these configurations dont show up, try to open the tmtc folder as
+ a new PyCharm project in a new window. 
+ 
+ To add new configurations, go to Edit Configurations... at the top right corner in the drop-down menu.
+ Specify the new run configurations and set a tick at Share through VCS. 
\ No newline at end of file