added subscription functions