writing tests to understand the problem better