moved unit tests to its own module