More robust tests, closer implementation but not there yet