refactoring dhis2