more tests, fix a bug in observing