refactoring, some XML documentation