adding the first code / test for it. We will implement the functionalities iteratively as well as the performance improvements