implemented most other tests