more tests and api updates