refactor signal to stream and info objects
make sure setup script always runs from proj root
fix up api for string passing