return promise for subscribe
add test publish on save