add Streamable and friends
update test