Redesign

Extracted DataManager, some cleanup