add xml read interfaces + refactor unit tests