add more test features
add streaming messages via polling
test program
refactor