Drastic restructuring of constructors