adding new tests and changing the core