tried to improve some test cases :P