refactoring the tests and adding some new models to restructure the code