subscribe and publish work

and still need much update