updated todo
api should not assume you want to iterate over it
updated tests with appropriate tests for servers