Rework application, make swap safe with non-POD