refactor towards a manifest class