refactor soap implementation
add soap manager