update with more tests