pull stream and pulse under hub; add a test for pulse