M: add abstract connection instead of WebService