Add more tests and adjust the order