fixed subsribe methods and added tests