added wrapper for pub/sub