implementing tests (not complete)