refactor WebService