- add also unit test for it. - this is quiet a raw version, has to be tested again and wildly optinized