add tests (using smallCheck)