add tests to ensure order does not matter