Most of the tests needed