many tests have been implemented