final code changes. now lets run tests