First large commit!

Setting up of the testing environment is finished and some functionality is already added.