cleanup and initial implementation of DnfSystem