created an interface and an abstract class because i noticed i kept making the same kind of soap calls so i decided to abstract that. will have to test to make sure it works on my local.