update with some tests