rewritten all tests