New tests and redesign

Some changes on the design + restructuring of tests.