passes apart from the test6, which i think it's wrong..