changed api for abstract class to use a more fluent inferface
added response wrapper for xml processing