implemented 3 test-cases