All the sorts and tests are implemented