subscribe and retrieve